| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| | |
Import queue and binding definitions when a certain number of nodes join
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Add redbug library
|
|/ /
| |
| |
| | |
`redbug` compliments `recon` well and has a better tracing interface IMHO.
|
|\ \
| | |
| | | |
Replace one use of filelib:is_regular/1
|
|/ /
| |
| |
| |
| |
| | |
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
|
| | |
|
|\ \
| | |
| | | |
Fix issue with fsutil
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/| |
Fix Stream coordinator leader selection bug
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This reverts commit 9a0d448d346bece6cce329346cc4ee52a0b79794.
|
|
|
|
| |
(cherry picked from commit 0a731b707484c6b2276c1c80e657cea2acf7d24e)
|
|
|
|
| |
This reverts commit 371b44dcf2ce4b0909e8b1d0255cd9a815f135d3.
|
| |
|
|\
| |
| | |
Distribution listener IP address is hardcoded in listener metadata
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
...
|
|\ \
| | |
| | | |
Limit the version of rebar3_hex to v6
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | | |
Bump (c) year in node startup banner
|
|/ / |
|
|\ \
| | |
| | | |
3.8.27 release notes
|
|/ / |
|
| | |
|
|\ \
| | |
| | | |
3.9.12 release notes
|
|/ / |
|
|\ \
| | |
| | | |
Fix config example in README.md for rabbitmq_auth_backend_cache
|
|/ / |
|
|\ \
| | |
| | | |
Fix all uses of file:read_file/1
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
|/| | |
Disable +deterministic in compilation_mode dbg under bazel
|
| | |
| | |
| | |
| | |
| | | |
This allows compiling and reloading code from the erlang shell when
running the broker with `bazel run -c dbg broker`
|
| | | |
|
| | | |
|
|\ \ \
| |_|/
|/| | |
Reduce CPU usage of rabbit_framing_amqp_0_9_1:decode_method_fields/2
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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%.
|
| | |
|
| | |
|
| | |
|
|\ \ |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|