summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bump erlef/setup-beam from 1.9 to 1.10dependabot/github_actions/erlef/setup-beam-1.10dependabot[bot]2022-01-133-3/+3
| | | | | | | | | | | | | | Bumps [erlef/setup-beam](https://github.com/erlef/setup-beam) from 1.9 to 1.10. - [Release notes](https://github.com/erlef/setup-beam/releases) - [Commits](https://github.com/erlef/setup-beam/compare/v1.9...v1.10) --- updated-dependencies: - dependency-name: erlef/setup-beam dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* Merge pull request #3981 from rabbitmq/mk-two-staged-definition-importMichael Klishin2022-01-132-10/+52
|\ | | | | Import queue and binding definitions when a certain number of nodes join
| * Correct log message formattingmk-two-staged-definition-importMichael Klishin2022-01-121-3/+3
| |
| * Import queue and binding definitions when a certain number of nodes joinMichael Klishin2022-01-112-10/+52
| | | | | | | | | | | | | | | | | | | | by default the number is 1. This is to make sure that quorum queues have enough nodes to provision their initial replicas on instead of settling on a smaller number, which very likely can be just 1 (the first node to boot). References #3850.
* | Merge pull request #3978 from rabbitmq/lukebakken/ship-redbugMichael Klishin2022-01-126-1/+11
|\ \ | | | | | | Add redbug library
| * | Add redbug librarylukebakken/ship-redbugLuke Bakken2022-01-116-1/+11
|/ / | | | | | | `redbug` compliments `recon` well and has a better tracing interface IMHO.
* | Merge pull request #3980 from rabbitmq/gh-3936-followupMichael Klishin2022-01-112-1/+12
|\ \ | | | | | | Replace one use of filelib:is_regular/1
| * | Replace one use of filelib:is_regular/1Luke Bakken2022-01-112-1/+12
|/ / | | | | | | | | | | This specific case is called multiple times by the Prometheus plugin. It eventually calls `file:read_file_info/1` which leaks on Windows See #3936
* | GitHub Actions updates for the new v3.10.x branchPhilip Kuryloski2022-01-115-2/+47
| |
* | Merge pull request #3970 from rabbitmq/gh-3895-bugfixMichael Klishin2022-01-111-34/+5
|\ \ | | | | | | Fix issue with fsutil
| * | Fix issue with fsutilgh-3895-bugfixLuke Bakken2022-01-081-34/+5
|/ / | | | | | | | | | | | | | | | | Fsutil has language-specific messages. Fix by using powershell.exe instead. Follow-up to #3895 Reported here: https://groups.google.com/g/rabbitmq-users/c/ypk51AtmrSM
* | Merge pull request #3967 from rabbitmq/tomyouyou-stream_select_leaderMichael Klishin2022-01-083-13/+38
|\ \ | |/ |/| Fix Stream coordinator leader selection bug
| * Stream coordinator: handle machine_version commandtomyouyou-stream_select_leaderKarl Nilsson2022-01-071-0/+2
| |
| * Make stream coodinator machine versionedKarl Nilsson2022-01-073-15/+38
| | | | | | | | | | | | | | In order to retain deterministic results of state machine applications during upgrades we need to make the stream coordinator versioned such that we only use the new logic once the stream coordinator switches to machine version 1.
| * 'rabbit_stream_coordinator:select_leader' runs with wrong comparisontomyouyou2022-01-071-2/+2
|/ | | | | | | | | The list consists of candidates which is a tuple {node, tail}, and the tail is made of {epoch, offset}. While the 'select_leader' think the tail is made of {offset, epoch}. Suppose there are two candidates: [{node1,{1,100}},{node2,{2,99}}] It selects node1 as the leader instead of node2 with larger epoch.
* Revert "Fix the sha and prefix for bazel-erlang based on the repo rename"Michael Klishin2022-01-061-3/+2
| | | | This reverts commit 9a0d448d346bece6cce329346cc4ee52a0b79794.
* Fix the sha and prefix for bazel-erlang based on the repo renamePhilip Kuryloski2022-01-061-2/+3
| | | | (cherry picked from commit 0a731b707484c6b2276c1c80e657cea2acf7d24e)
* Revert "Update Bazel rules repository name"Michael Klishin2022-01-054-4/+4
| | | | This reverts commit 371b44dcf2ce4b0909e8b1d0255cd9a815f135d3.
* Update Bazel rules repository nameMichael Klishin2022-01-054-4/+4
|
* Merge pull request #3956 from tomyouyou/record_dist_ipMichael Klishin2022-01-051-1/+6
|\ | | | | Distribution listener IP address is hardcoded in listener metadata
| * The wrong distribution listener IP address is recorded when it is configured.tomyouyou2022-01-051-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Add an item to the configuration file(/etc/rabbitmq/rabbitmq.config): {kernel, [{inet_dist_use_interface, {8193,291,0,0,0,0,0,1}}]} Use the netstat command to check the IP address of the distribution port(25672): netstat -anp | grep 25672 tcp6 0 0 2001:123::1:25672 :::* LISTEN 2075/beam.smp However, 'rabbitmqctl status' shows: ... Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication ...
* | Merge pull request #3957 from rabbitmq/rollback-rebar3_hex-versionMichael Klishin2022-01-051-1/+1
|\ \ | | | | | | Limit the version of rebar3_hex to v6
| * | Limit the version of rebar3_hex to v6rollback-rebar3_hex-versionPhilip Kuryloski2022-01-051-1/+1
|/ / | | | | | | | | | | | | | | v7 introduces changes that break pipelines - https://github.com/rabbitmq/hexpm-cli/issues/3 It would be better to drop hexpm-cli and use the hex publishing support present in newer versions of erlang.mk
* | Merge pull request #3953 from rabbitmq/mk-bump-copyright-yearMichael Klishin2022-01-051-1/+1
|\ \ | | | | | | Bump (c) year in node startup banner
| * | Bump (c) year in node startup bannerMichael Klishin2022-01-051-1/+1
|/ /
* | Merge pull request #3952 from rabbitmq/mk-3.8.27-release-notesMichael Klishin2022-01-041-0/+86
|\ \ | | | | | | 3.8.27 release notes
| * | 3.8.27 release notesMichael Klishin2022-01-041-0/+86
|/ /
* | Update 3.9.12.mdMichael Klishin2022-01-041-0/+4
| |
* | Merge pull request #3950 from rabbitmq/mk-3.9.12-release-notesMichael Klishin2022-01-041-0/+103
|\ \ | | | | | | 3.9.12 release notes
| * | 3.9.12 release notesMichael Klishin2022-01-041-0/+103
|/ /
* | Merge pull request #3947 from skorzhevsky/fix-readme-in-auth-backend-cacheMichael Klishin2022-01-041-1/+1
|\ \ | | | | | | Fix config example in README.md for rabbitmq_auth_backend_cache
| * | Fix config example in README.md for rabbitmq_auth_backend_cacheskorzhevsky2022-01-041-1/+1
|/ /
* | Merge pull request #3936 from rabbitmq/lukebakken/fix-all-read-fileMichael Klishin2022-01-0410-17/+42
|\ \ | | | | | | Fix all uses of file:read_file/1
| * | Fix all uses of file:read_file/1lukebakken/fix-all-read-fileLuke Bakken2022-01-0310-17/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to address another memory leak on win32 reported here: https://groups.google.com/g/rabbitmq-users/c/UE-wxXerJl8 "RabbitMQ constant memory increase (binary_alloc) in idle state" The root cause is the Prometheus plugin making repeated calls to `rabbit_misc:otp_version/0` which then calls `file:read_file/1` and leaks memory on win32. See https://github.com/erlang/otp/issues/5527 for the report to the Erlang team. Turn `badmatch` into actual error
* | | Merge pull request #3941 from rabbitmq/bazel-run-dev-brokerPhilip Kuryloski2022-01-044-19/+34
|\ \ \ | |/ / |/| | Disable +deterministic in compilation_mode dbg under bazel
| * | Disable +deterministic in compilation_mode dbg under bazelbazel-run-dev-brokerPhilip Kuryloski2022-01-034-13/+29
| | | | | | | | | | | | | | | This allows compiling and reloading code from the erlang shell when running the broker with `bazel run -c dbg broker`
| * | Cleanup BUILD.bazelPhilip Kuryloski2021-12-171-6/+5
| | |
* | | Skip new import testcase on mixed environmentsdcorbacho2022-01-031-1/+8
| | |
* | | Merge pull request #3934 from rabbitmq/decode-method-fieldsMichael Klishin2022-01-011-112/+112
|\ \ \ | |_|/ |/| | Reduce CPU usage of rabbit_framing_amqp_0_9_1:decode_method_fields/2
| * | Reduce CPU usage of rabbit_framing_amqp_0_9_1:decode_method_fields/2decode-method-fieldsDavid Ansari2021-12-311-112/+112
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This diff will generate module rabbit_framing_amqp_0_9_1 with re-ordered clauses of function decode_method_fields/2. After this change, basic class will be at the top of the function clauses. That's better because for example basic.publish and basic.ack are called far more often than for example methods of class connection, channel or exchange. Note that "the compiler does not rearrange clauses that match binaries." See https://www.erlang.org/doc/efficiency_guide/functions.html#pattern-matching Measurement taken on an Ubuntu 20.04 VM before and after this change: 1. Install latest Erlang from master (i.e. Erlang 25) 2. RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="+JPperf true +S 1" make run-broker (Single scheduler makes the flame graph easier to read.) 3. Run rabbitmq-perf-test without any parameters 4. sudo perf record -g -F 9999 -p <pid> -- sleep 5 where <pid> is the output of 'os:getpid().' (in the Erlang shell). This samples CPU stack traces via frame pointers of rabbitmq-server at 9999 Hertz for 5 seconds. 5. Generate a differential flame graph as described in https://www.brendangregg.com/blog/2014-11-09/differential-flame-graphs.html Before this change, stack frame rabbit_framing_amqp_0_9_1:decode_method_fields/2 was 1.57% present in all stack trackes, most of the time (> 1%) running on the CPU, i.e. directly consuming CPU cycles. This does not sound like a lot, but is actually quite a lot for a single function! The diffential flame graph depicts a single dark blue frame: function decode_method_fields with a reduction of ~0.85%.
* | #3925 follow-up: add a rabbit_common Bazel depMichael Klishin2021-12-281-0/+6
| |
* | #3925 follow-up: don't include Erlang client headersMichael Klishin2021-12-281-1/+3
| |
* | #3925 follow-up: update Bazel files to match new suite namesMichael Klishin2021-12-281-2/+2
| |
* | Merge branch 'thuandb-master'Michael Klishin2021-12-287-16/+226
|\ \
| * | Rename two newly introduced test modulesMichael Klishin2021-12-282-2/+2
| | |
| * | delegate: documentation editsMichael Klishin2021-12-261-9/+12
| | |
| * | Make xref happyMichael Klishin2021-12-261-1/+1
| | |
| * | Import definitions: support user limitsdcorbacho2021-12-265-61/+225
| | |
| * | CosmeticsMichael Klishin2021-12-261-1/+1
| | |
| * | wrap authentication calls in try catch to avoid leaking errorLajos Gerecs2021-12-261-29/+36
| | |