| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
separate from resource_server_id
|
|
|
|
| |
it had been copied from 25.3 without an update
|
|\
| |
| |
| |
| | |
rabbitmq/rin/update-elixir-erlang-autobump-workflows
Update the automation to bump erlang/elixir patches in CI
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
so that the workflow fails if the branch already exists, instead of
just skipping
We had a period of many weeks where the elixir workflow was being
skipped because the branch was left around after a PR was closed, so
we want to avoid that in the future
|
|\ \
| | |
| | | |
Adopt elixir 1.14.4
|
| |/ |
|
|\ \
| |/
|/| |
Simplify the reference to RABBITMQ_RUN in bazel in integration tests
|
| | |
|
| |
| |
| |
| |
| |
| | |
Add a nightly and manual workflow that will run gazelle and open a PR
if there are any changes. This will ensure that bazel files stay up to
date.
|
| | |
|
|\ \
| | |
| | | |
CQv1: Don't limit messages in memory based on consume rate
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The v1 index is not optimised for reading messages except when
the entire segment is read. So we always do that.
This change was made because when the read is inefficient and
TTL is used the queue can get unresponsive while getting the
TTL messages dropped. In that case the queue may drop messages
slower than they expire and as a result will not process any
Erlang messages until it has dropped all messages in the queue.
|
|\ \ \
| |_|/
|/| | |
Allow setting consumer timeout via queue policy/arg and as consumer argument
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| | |
Close #5437
|
|\ \
| | |
| | | |
Use rules erlang 3.9.14
|
| | |
| | |
| | |
| | | |
As this is preferred in rules_erlang 3.9.14
|
|/ / |
|
| |
| |
| | |
by using the more selective constraint value
|
|\ \
| | |
| | | |
Special case "unknown" for IP address
|
| | |
| | |
| | |
| | | |
`inet:ip_address()`
|
| | | |
|
| | |
| | |
| | |
| | | |
Fixes #7864
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
rabbitmq/mk-silence-remote-shell-dialyzer-on-otp-26
CLI: more OTP 26 compatibility for remote_shell
|
| | | |
|
| |/
| |
| |
| |
| | |
shell:start_interactive/1 takes a {node(), mfa()}, not
{node(), atom(), atom(), non_neg_integer()}
|
|\ \
| | |
| | | |
CLI: make input ordering preditable when formatting a table
|
| | |
| | |
| | |
| | |
| | | |
The only way to make them reliable in their current form
would be converting to keyword lists, which are covered anyway.
|
| |/
| |
| |
| |
| |
| | |
if the input is given as a map.
References #7931, #7921
|
|\ \
| | |
| | | |
OTP26 compatibility: `{verify_none}`
|
| |/ |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in MQTT tests.
For example in the ff_SUITE wee see in Buildbuddy sporadic
failures that the cluster cannot be created within 2 minutes:
```
*** CT Error Notification 2023-04-24 10:58:55.628 ***🔗
rabbit_ct_helpers:port_receive_loop failed on line 945
Reason: {timetrap_timeout,120000}
...
=== Ended at 2023-04-24 10:58:55
=== Location: [{rabbit_ct_helpers,port_receive_loop,945},
{rabbit_ct_helpers,exec,920},
{rabbit_ct_broker_helpers,cluster_nodes1,858},
{rabbit_ct_broker_helpers,cluster_nodes1,840},
{rabbit_ct_helpers,run_steps,141},
{ff_SUITE,init_per_group,last_expr},
{test_server,ts_tc,1782},
{test_server,run_test_case_eval1,1379},
{test_server,run_test_case_eval,1223}]
=== Reason: timetrap timeout
===
*** init_per_group failed.
Skipping all cases.
```
The default time limit for a test case is 30 minutes.
|
|\
| |
| | |
Make tcp send OTP 26 compatible
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Follow up of https://github.com/rabbitmq/rabbitmq-server/pull/7913
and https://github.com/rabbitmq/rabbitmq-server/pull/7921
This commit uses the approach explained in https://github.com/erlang/otp/issues/7130#issuecomment-1512808759
We cannot use the macro `?OTP_RELEASE` since macros are evaluated at
compile time. RabbitMQ can be compiled with OTP 25 and executed with OTP
26. Therefore, we use `erlang:system_info(otp_release)` instead.
As `erlang:system_info/1` might be costly, we store the send function in
persistent_term.
For OTP 25, we use the "old tcp send workaround" (i.e.
`erlang:port_command/2`) which avoids expensive selective receives.
For OTP 26, we use `gen_tcp:send/2` which uses the optimised selective
receive.
Once the minimum required version becomes OTP 26, we can just switch to
`gen_tcp:send/2` and delete the `inet_reply` handling code in the various
RabbitMQ reader and writer processes.
Note that `rabbit_net:port_command/2` is not only used by RabbitMQ server,
but also by the AMQP 0.9.1 client.
Therefore, instead of putting the OTP version (or send function) into
persistent_term within the rabbit app, we just do it the first time
`rabbit_net:port_command/2` is invoked.
(`rabbit_common` is just a library without supervision hierarchy.)
|
|\ \
| | |
| | | |
Restore the original -include_lib statements from before #6466
|
|/ /
| |
| |
| |
| |
| | |
since this broke erlang_ls
requires rules_erlang 3.9.13
|
|\ \
| | |
| | | |
Adjust `-include(...` in some tests to work with both bazel and make
|
| | | |
|
|\ \ \
| | | |
| | | | |
Ensure monitor is started when dequeuing
|
| | | |
| | | |
| | | |
| | | | |
Fixes #4976
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Use reachable nodes to start stream coordinator Ra cluster
rabbit_nodes:list_running/0 was previously used, but it returns
only nodes with the rabbit application running. The application
may not be running when streams are created, e.g. when importing
definitions on startup. The function would then return an empty
list, which makes the Ra cluster startup fail.
rabbit_nodes:list_reachable/0 returns cluster nodes, regardless
of the status of the rabbit application, which is enough in this case.
* Return existing queue record on queue creation
If any. And do not expect the record to be exactly
equal to the passed-in queue parameter: it is not
for streams (spotted by trying to import stream definitions
on startup several times).
* Add an assertion
---------
Co-authored-by: Michal Kuratczyk <mkuratczyk@vmware.com>
|
|\ \ \
| | | |
| | | | |
Update 3.12.0 release notes
|
| |/ / |
|
|\ \ \
| |/ /
|/| | |
Recovery terms: use ram_file on start, but not on shutdown
|
| |\ \ |
|