| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Fixes #2493
First step, add failing test.
|
|
|
|
|
|
|
|
| |
The expected value is the first argument. The behavior is the same in
the end. But it fixes the way an error is reported: the values of
"expected:" and "value:" are correct and not confusing.
(cherry picked from commit f23a3792b273fa4dc7b1fd3cf0a5a4bff8bb32a8)
|
|
|
|
|
|
|
|
|
|
| |
... at the end of the `restart_queue` test case.
Otherwise, I beleive that left-over state could affect negatively other
test cases. One of them being the `restart_all_types` which also look at
the supervisor children.
(cherry picked from commit 24211db427ec928da56f1db820a2bfece6805739)
|
|\
| |
| | |
Avoid crash when acking deleted queue
|
| | |
|
| |
| |
| |
| |
| |
| | |
If a queue has been deleted and the channel has removed its queue type
state we could get a crash if a late ack came in for the queue. Now we
just handle this case and ignore the ack/reject.
|
|\ \
| | |
| | | |
amqp_channel:wait_for_confirms timeout is in seconds
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
See this line:
https://github.com/rabbitmq/rabbitmq-erlang-client/blob/master/src/amqp_channel.erl#L975-L977
|
| |/
|/| |
|
| | |
|
|\ \
| | |
| | | |
Fix unknown type specs
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
... to other test cases, because it stops nodes B and C: it might upset
other test cases running at the same time. Indeed, the cluster is used
by all test cases.
|
| | |
| | |
| | |
| | |
| | | |
Hopefully this was the only reason why some tests fail from time to time
in GitHub Actions.
|
|\ \ \
| |/ /
|/| | |
Ensure modified state is not discarded in ifold
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit d12b4d8e08005f97c5557f0948b3d03c15ef8c1b introduced a bug where
the old value of `State` is returned in the `stop` case.
The problem was sometimes visible in the backing_queue_SUITE's
`variable_queue_fold` testcase. The testcase crashed with the following
exception:
=== Location: [{rabbit_ct_broker_helpers,rpc,1509},
{backing_queue_SUITE,variable_queue_fold,1144},
{test_server,ts_tc,1754},
{test_server,run_test_case_eval1,1263},
{test_server,run_test_case_eval,1195}]
=== === Reason: {error,
{case_clause,undefined},
[{file_handle_cache,'-partition_handles/1-fun-0-',2,
[{file,"src/file_handle_cache.erl"},{line,804}]},
{file_handle_cache,get_or_reopen,1,
[{file,"src/file_handle_cache.erl"},{line,743}]},
{file_handle_cache_stats,timer_tc,1,
[{file,"src/file_handle_cache_stats.erl"},
{line,54}]},
{file_handle_cache_stats,update,2,
[{file,"src/file_handle_cache_stats.erl"},
{line,40}]},
{file_handle_cache,with_handles,3,
[{file,"src/file_handle_cache.erl"},{line,700}]},
{rabbit_msg_store,read_from_disk,2,
[{file,"src/rabbit_msg_store.erl"},{line,1259}]},
{rabbit_msg_store,client_read3,3,
[{file,"src/rabbit_msg_store.erl"},{line,671}]},
{rabbit_msg_store,safe_ets_update_counter,5,
[{file,"src/rabbit_msg_store.erl"},{line,1314}]}]}
The `State` (a #vqstate{} record) contains the rabbit_msg_store's state
as well (a #client_msstate{} record). This msg store client state is
updated after most calls to the msg store. In particular, the msg store
client state contains a map in the `file_handle_cache` field of that
record to store all file handles returned by the file_handle_cache.
So each time the msg store opens or closes files as part of its
operation, the client state is updated with a modifed
`file_handle_cache` map.
In addition to that, the file_handle_cache module uses the process
dictionary to store even more data about the various file handles used
by that process.
Therefore, by discarding the updated #client_msstate{}, we loose the
up-to-date `file_handle_cache` map. However, the process dictionary is
still updated by the file_handle_cache module. This means that the map
and the process dictionary are out-of-sync at this point. That's what
causes the crash in the file_handle_cache module: it is called with
arguments which don't work with the data in the process dictionary.
This commit fixes that and re-names some variables to clearly show the
progression of modified data.
Fixes #2488
Major props to @dumbbell for figuring this out, and @pjk25 for assistance!
|
|\ \
| |/
|/| |
Add missing 'byte' type to amqp 0.9.1 record conversion
|
| |
| |
| |
| |
| | |
The x-mqtt-publish-qos argument is a 'byte', without this MQTT can't publish
to stream queues
|
|\ \
| |/
|/| |
Make it possible to extract username from certificate SANs
|
|/
|
|
| |
Part of rabbitmq/rabbitmq-auth-mechanism-ssl#12.
|
|
|
|
| |
a drive-by change.
|
|\
| |
| |
| |
| | |
rabbitmq/add-external-connections-for-refresh-event
Add rabbit_non_amqp_connections process group
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This commit allows to propagate the force_event_refresh
event to non-AMQP connections. This way other types of connections can
be notified of the management plugin activation and start emitting
statistics.
This will be used for now by connections from the stream plugin.
The existing rabbit_connections process group cannot be re-used in this
case as it is used by the list_connections CLI command, and we do not
want non-AMQP connections to show up in the output.
|
|\
| |
| | |
Refactor info queues on queue types
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
Stream queue leader locator
|
| | | |
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
test/rabbit_stream_queue_SUITE.erl
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Options: client-local, random, least-leaders
|
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
Remove all code related to RABBITMQ_IO_THREAD_POOL_SIZE
|
|/ / /
| | |
| | |
| | | |
Fixes #2473
|
| | |
| | |
| | |
| | |
| | | |
It's been deprecated for close to six months
and already removed from some other docs.
|
|\ \ \
| | | |
| | | | |
Remove queue arguments validation
|
|/ / /
| | |
| | |
| | | |
Strict validation breaks plugins that might use any random queue argument
|
| | | |
|
|\ \ \
| | | |
| | | | |
Stop local quorum queue followers after transferring leadership
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This way the shutdown of a node that's been put into maintenance
mode won't have any further effects on the quorum
(or rather, the effects will be "frontloaded" which is the goal
of maintenance mode).
Closes #2474.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Both classic and quorum queues were missing x-credit which is used by
the AMQP 1.0 implemention. Also classic queues were missing x-priority
for consumer priority support.
|
| |/
|/|
| |
| | |
Allow each queue type to have its own keys or return '' for unknown keys
|
| | |
|