summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Modify "byte" validator to allow 255rabbitmq-server-2493Luke Bakken2020-11-041-1/+1
|
* Add test for a depth setting of 255Luke Bakken2020-11-042-1/+19
|
* Fix "byte" validator message.Luke Bakken2020-11-041-1/+1
|
* Modify "byte" validator to allow 0Luke Bakken2020-11-042-2/+2
|
* "byte" validator for cuttlefish schema disallows 0Luke Bakken2020-11-041-0/+18
| | | | | | Fixes #2493 First step, add failing test.
* quorum_queue_utils: Switch arguments to ?assertEqual in wait_for_messages()Jean-Sébastien Pédron2020-11-041-1/+1
| | | | | | | | 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)
* quorum_queue_SUITE: Delete `restart_queue` queueJean-Sébastien Pédron2020-11-041-2/+5
| | | | | | | | | | ... 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)
* Merge pull request #2492 from rabbitmq/ack-after-queue-deleteArnaud Cogoluègnes2020-11-033-25/+58
|\ | | | | Avoid crash when acking deleted queue
| * remove unused functionack-after-queue-deletekjnilsson2020-11-031-10/+0
| |
| * Avoid crash when acking deleted queuekjnilsson2020-11-033-15/+58
| | | | | | | | | | | | 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.
* | Merge pull request #2490 from rabbitmq/lrb-confirm-timeout-is-secondsMichael Klishin2020-11-033-29/+29
|\ \ | | | | | | amqp_channel:wait_for_confirms timeout is in seconds
| * | Update all other usages.lrb-confirm-timeout-is-secondsLuke Bakken2020-11-023-26/+26
| | |
| * | amqp_channel:wait_for_confirms timeout is in secondsLuke Bakken2020-10-301-3/+3
| | | | | | | | | | | | | | | | | | See this line: https://github.com/rabbitmq/rabbitmq-erlang-client/blob/master/src/amqp_channel.erl#L975-L977
* | | Update rabbitmq-components.mkArnaud Cogoluègnes2020-11-031-0/+2
| |/ |/|
* | quorum_queue_SUITE: Wait for the two queues to start in restart_all_types/1Jean-Sébastien Pédron2020-11-021-3/+12
| |
* | Merge pull request #2491 from rabbitmq/dialyzer-type-fixesMichael Klishin2020-11-029-11/+15
|\ \ | | | | | | Fix unknown type specs
| * | Fix unknown type specsdialyzer-type-fixeskjnilsson2020-11-029-11/+15
| | |
* | | publisher_confirms_parallel_SUITE: Don't run `confirm_minority` in parallelJean-Sébastien Pédron2020-11-021-2/+6
| | | | | | | | | | | | | | | | | | ... 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.
* | | rabbit_stream_queue_SUITE: Increase timeout in receive_batch/3Jean-Sébastien Pédron2020-11-021-2/+2
| | | | | | | | | | | | | | | Hopefully this was the only reason why some tests fail from time to time in GitHub Actions.
* | | Merge pull request #2489 from rabbitmq/rabbitmq-server-2488Jean-Sébastien Pédron2020-11-021-8/+10
|\ \ \ | |/ / |/| | Ensure modified state is not discarded in ifold
| * | rabbit_variable_queue: Ensure modified state is not discarded in ifoldrabbitmq-server-2488Luke Bakken2020-10-301-8/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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!
* | Merge pull request #2485 from rabbitmq/stream-protocol-interoperabilityMichael Klishin2020-10-301-1/+2
|\ \ | |/ |/| Add missing 'byte' type to amqp 0.9.1 record conversion
| * Add missing 'byte' type to amqp 0.9.1 record conversionstream-protocol-interoperabilitydcorbacho2020-10-281-1/+2
| | | | | | | | | | The x-mqtt-publish-qos argument is a 'byte', without this MQTT can't publish to stream queues
* | Merge pull request #2487 from rabbitmq/mk-rabbitmq-auth-mechanism-ssl-12Michael Klishin2020-10-303-4/+70
|\ \ | |/ |/| Make it possible to extract username from certificate SANs
| * Make it possible to extract username from certificate SANsmk-rabbitmq-auth-mechanism-ssl-12Michael Klishin2020-10-303-4/+70
|/ | | | Part of rabbitmq/rabbitmq-auth-mechanism-ssl#12.
* Improved wordingMichael Klishin2020-10-271-2/+3
| | | | a drive-by change.
* Merge pull request #2481 from ↵Arnaud Cogoluègnes2020-10-232-2/+33
|\ | | | | | | | | rabbitmq/add-external-connections-for-refresh-event Add rabbit_non_amqp_connections process group
| * Rename process group to non_amqp_connectionArnaud Cogoluègnes2020-10-232-18/+18
| |
| * Add comments on force_event_refresh handlingadd-external-connections-for-refresh-eventArnaud Cogoluègnes2020-10-231-0/+4
| |
| * Add rabbit_external_connections process groupArnaud Cogoluègnes2020-10-232-2/+29
|/ | | | | | | | | | | | | 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.
* Merge pull request #2475 from rabbitmq/queue-type-info-keysArnaud Cogoluègnes2020-10-226-28/+35
|\ | | | | Refactor info queues on queue types
| * Merge branch 'master' into queue-type-info-keysqueue-type-info-keysArnaud Cogoluègnes2020-10-2216-153/+291
| |\ | |/ |/|
* | Merge pull request #2471 from rabbitmq/stream-queue-leader-locatorArnaud Cogoluègnes2020-10-215-8/+262
|\ \ | | | | | | Stream queue leader locator
| * | Fix conflictstream-queue-leader-locatorArnaud Cogoluègnes2020-10-211-8/+0
| | |
| * | Merge branch 'master' into stream-queue-leader-locatorArnaud Cogoluègnes2020-10-2122-190/+98
| |\ \ | | | | | | | | | | | | | | | | Conflicts: test/rabbit_stream_queue_SUITE.erl
| * | | Use stream ID hash to pick "random" leaderstream-queue-leader-locator-with-hashArnaud Cogoluègnes2020-10-192-10/+7
| | | |
| * | | Use stream queue name hash to choose leaderArnaud Cogoluègnes2020-10-192-15/+22
| | | |
| * | | Stream queue-leader-locator argument and policydcorbacho2020-10-155-10/+266
| | | | | | | | | | | | | | | | Options: client-local, random, least-leaders
* | | | Update rabbitmq-components.mkMichael Klishin2020-10-211-2/+2
| |/ / |/| |
* | | Merge pull request #2478 from rabbitmq/rabbitmq-server-2473Luke Bakken2020-10-204-29/+0
|\ \ \ | | | | | | | | Remove all code related to RABBITMQ_IO_THREAD_POOL_SIZE
| * | | Remove all code related to RABBITMQ_IO_THREAD_POOL_SIZErabbitmq-server-2473Luke Bakken2020-10-204-29/+0
|/ / / | | | | | | | | | Fixes #2473
* | | rabbitmqctl(8): remove deprecated node_health_checkMichael Klishin2020-10-201-12/+0
| | | | | | | | | | | | | | | It's been deprecated for close to six months and already removed from some other docs.
* | | Merge pull request #2477 from rabbitmq/remove-arguments-validationMichael Klishin2020-10-203-100/+0
|\ \ \ | | | | | | | | Remove queue arguments validation
| * | | Remove queue arguments validationremove-arguments-validationdcorbacho2020-10-203-100/+0
|/ / / | | | | | | | | | Strict validation breaks plugins that might use any random queue argument
* | | Squash compiler warningsMichael Klishin2020-10-201-2/+2
| | |
* | | Merge pull request #2476 from rabbitmq/rabbitmq-server-2474Michael Klishin2020-10-201-0/+23
|\ \ \ | | | | | | | | Stop local quorum queue followers after transferring leadership
| * | | Stop local quorum queue followers after transferring leadershiprabbitmq-server-2474Michael Klishin2020-10-191-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Add missing consumer args to queue type capabilitieskjnilsson2020-10-192-2/+4
|/ / / | | | | | | | | | | | | | | | 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.
| | * Refactor info queues on queue typesdcorbacho2020-10-196-28/+35
| |/ |/| | | | | Allow each queue type to have its own keys or return '' for unknown keys
* | Use named queues for single_active_consumer testkjnilsson2020-10-161-2/+5
| |