summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update commentbump-rbe-image-24Philip Kuryloski2021-11-051-1/+1
|
* Use latest rabbitmq-server-buildenv:linux-erlang-24.1GitHub2021-11-051-1/+1
| | | | for remote build execution (RBE) with BuildBuddy
* Merge pull request #3657 from rabbitmq/use-new-buildbuddy-urlPhilip Kuryloski2021-11-056-35/+11
|\ | | | | Adopt the new buildbuddy remote execution url
| * Adopt the new buildbuddy remote execution urluse-new-buildbuddy-urlPhilip Kuryloski2021-11-046-35/+11
| | | | | | | | Buildbuddy reached out and expects it should be more reliable
* | Merge pull request #3658 from ↵Michael Klishin2021-11-056-6/+7
|\ \ | | | | | | | | | | | | rabbitmq/lukebakken/update-comments-about-dummy-supervisors Update link in comment
| * | Update link in commentlukebakken/update-comments-about-dummy-supervisorsLuke Bakken2021-11-046-6/+7
| | | | | | | | | | | | | | | It is a useful comment, so update all the links to the correct place on the internet: http://erlang.org/pipermail/erlang-questions/2010-April/050508.html
* | | Allow manual triggering of the OCI workflow on arbitary branchesPhilip Kuryloski2021-11-041-0/+1
| | | | | | | | | | | | | | | Useful for resolving errors in the AWS integration suite of the "The requested check was never run against this ref, exiting..." sort.
* | | Revert "See if the update-rbe-images workflow can be updated automatically"Philip Kuryloski2021-11-041-4/+7
| | | | | | | | | | | | This reverts commit 46efc994ffb0b8c5dd3af3157c0255dbdefbb4da.
* | | Revert "Tweak update-rbe-images workflow"Philip Kuryloski2021-11-041-1/+1
| | | | | | | | | | | | This reverts commit 8c0a4c83c7e7ff087baf5105305c29891b9b4d85.
* | | Revert "Again tweak update-rbe-images workflow"Philip Kuryloski2021-11-041-4/+2
| |/ |/| | | | | This reverts commit a0c3714b1a92787faa62a3c9ecf6f69deb8f1d42.
* | Merge pull request #3653 from bogdando/drop_ocf_raMichael Klishin2021-11-041-2435/+0
|\ \ | | | | | | Remove pacemaker OCF RA agent for RabbitMQ
| * | Remove pacemaker OCF RA agent for RabbitMQBogdan Dobrelya2021-11-041-2435/+0
|/ / | | | | | | | | | | | | | | It has been moved to https://github.com/ClusterLabs/resource-agents/tree/master/heartbeat since it can be no longer CI tested here Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
* | Merge pull request #3652 from rabbitmq/bump-bazel-erlangPhilip Kuryloski2021-11-041-1/+1
|\ \ | | | | | | Adopt latest bazel-erlang
| * | Adopt latest bazel-erlangGitHub2021-11-041-1/+1
|/ / | | | | | | - bazel-erlang@63f7f4213a4f50e2bd891c98be403a45def8d1cf
* | Merge pull request #3615 from ↵Michael Klishin2021-11-041-0/+15
|\ \ | |/ |/| | | | | rabbitmq/relax-msg-store-assertion-around-dup-writes-from-same-queue rabbit_msg_store: Accept duplicate writes from the same queue
| * rabbit_msg_store: Accept duplicate writes from the same queuerelax-msg-store-assertion-around-dup-writes-from-same-queueJean-Sébastien Pédron2021-10-271-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The situation is this one: if for some reason (i.e. a bug) a queue has the same message referenced twice (or more) in its index and this message is eligible for the message store (as opposed to being entirely stored in the queue index), it will send it multiple times to the message store. Until now, the code of the message store had two assertions: * one verified in the context of the queue process to make sure there was no two writes or two removes in a row; * one verified in the context of the message store process, doing exactly the same. Consider the following order of events: 1. the queue sends the first copy to the message store 2. the message store handles the first copy 3. the queue sends the second copy to the message 4. the message store handles the second copy In this scenario, none of the assertions are triggered and the message goes through the message store as if it was coming from different queues (i.e. a fan-out use case). Now consider this order of events: 1. the queue sends the first copy to the message store 2. the queue sends the second copy to the message store 3. the message store handles the first copy This time, the code will hit both assertions, leading to the crash of the queue, the crash of the message store and as a consequence, the crash of the entire vhost. In the case of two consecutive writes, those assertions are useless because the message store already knows how to handle multiple copies of the same message. However, the consequence are catastrophic: a single queue with a duplicate message could take down an entire vhost. This patch relaxes the assertion in the case of two consecutive writes. Now, both scenarii described above will be consistent: the copies from the same queue will be handled as any copies and the message store and the vhost will continue to work as usual. Note that this patch doesn't cover the reason why there were multiple copies in the queue in the first place! So the initial reason for this to happen is still there lurking somewhere. The user who saw this problem had duplicate messages in a dead-letter queue. Perhaps something related to the lack of publisher-confirms between the initial queue and the dead-letter one?
* | Merge pull request #3649 from rabbitmq/lukebakken/erlang_ls-tweaksMichael Klishin2021-11-031-2/+5
|\ \ | | | | | | Tweak more erlang_ls settings
| * | Tweak more erlang_ls settingsLuke Bakken2021-11-031-2/+5
|/ / | | | | | | | | | | | | | | | | As suggested in #3647: * Add commented-out section to disable bound_var_in_pattern * Comment-out `elvis` as that is not yet a standard used by the team cc @kjnilsson @mkuratczyk
* | Merge pull request #3647 from rabbitmq/lukebakken/erlang_ls-updateMichael Klishin2021-11-031-2/+2
|\ \ | | | | | | Comment-out code_reload
| * | Comment-out code_reloadLuke Bakken2021-11-031-2/+2
|/ / | | | | | | If RabbitMQ is not running, `erlang_ls` returns `nodedown` which is shown in your text editor console.
* | Again tweak update-rbe-images workflowPhilip Kuryloski2021-11-031-2/+4
| |
* | Tweak update-rbe-images workflowPhilip Kuryloski2021-11-031-1/+1
| |
* | Merge pull request #3646 from rabbitmq/bump-bazel-erlangPhilip Kuryloski2021-11-031-1/+1
|\ \ | | | | | | Adopt latest bazel-erlang
| * | Adopt latest bazel-erlangGitHub2021-11-031-1/+1
| | | | | | | | | | | | - bazel-erlang@c85ebaa61235734f592d87cf9c2b2055dfa245df
* | | See if the update-rbe-images workflow can be updated automaticallyPhilip Kuryloski2021-11-031-7/+4
|/ / | | | | | | When the latest erlang actually moves while the PR is open
* | Use version range for stream client Maven dependencyArnaud Cogoluègnes2021-11-032-2/+2
| | | | | | | | | | | | | | In test suite. Note a snapshot for 1.0-SNAPSHOT has been pushed by mistake a while ago, so this one must be excluded. It's unlikely it will be erased, as the snapshots for the first stable version should be 1.0.0-SNAPSHOT.
* | Bump Java dependencies in stream management test suiteArnaud Cogoluègnes2021-11-031-2/+2
| |
* | Merge pull request #3643 from rabbitmq/rebalance-loggingMichael Klishin2021-11-031-3/+3
|\ \ | | | | | | Turn down logging from queue rebalancing
| * | Turn down logging from queue rebalancingMichal Kuratczyk2021-11-031-3/+3
|/ / | | | | | | | | | | | | With many queues, rebalancing can log hundreds of lines at warning/info level, even though nothing exciting happened. I think we can tune that down - if there is nothing to do - that's a debug level, if things go well - that's info, not a warning.
* | Add a workflow that will track bazel-erlang master via PRsPhilip Kuryloski2021-11-031-0/+45
| | | | | | | | | | | | | | | | | | | | | | rabbitmq-server master has normally just used the latest bazel-erlang, however when things go wrong it's pretty disruptive. This workflow creates a PR that updates bazel-erlang's pinning in this repo to the latest commit - but without blocking the pipeline if things go wrong. If we need to coordinate a rabbitmq-server/bazel-erlang change, then of course the pinned version can be updated within a manual rabbitmq-server PR
* | Merge pull request #3631 from rabbitmq/creation-as-guidMichael Klishin2021-11-032-5/+19
|\ \ | | | | | | Use erlang:system_info(creation) as GUID
| * | Use erlang:system_info(creation) as GUIDMichal Kuratczyk2021-11-032-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Node GUID allows to differentiate between different incarnations of a node. However, since rabbit may take some time to start (many queues/bindings, etc), there could be a significant difference between Erlang VM being up and responding to RPC requests and the new GUID being announced. During that time, node monitor could incorrectly assume there was a network partition, while in fact a node was simply restarted. With this change, as soon as the Erlang VM is up, we can tell whether it was restarted and avoid false positives. Additionally, we now log if any queues were deleted on behalf of the restarted node. This can take quite a long time if there are many transient queues (eg. auto-delete queues). The longer this takes, the higher were the odds of a restarted node being up again by the time check_partial_partition was called. We may need to reconsider this logic as well but for now - we just log this activity. Co-authored-by: Loïc Hoguin <lhoguin@vmware.com>
* | | Merge pull request #3632 from ↵Philip Kuryloski2021-11-038-12/+12
|\ \ \ | |/ / |/| | | | | | | | rabbitmq/dependabot/github_actions/actions/checkout-2.4.0 Bump actions/checkout from 2.3.5 to 2.4.0
| * | Bump actions/checkout from 2.3.5 to 2.4.0dependabot[bot]2021-11-038-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* | | Merge pull request #3635 from ↵Michael Klishin2021-11-033-7/+47
|\ \ \ | |/ / |/| | | | | | | | rabbitmq/mk-cluster-formation-target-cluster-size-hint Introduce a target cluster size hint setting
| * | Introduce a target cluster size hint settingMichael Klishin2021-11-033-7/+47
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is meant to be used by deployment tools, core features and plugins that expect a certain minimum number of cluster nodes to be present. For example, certain setup steps in distributed plugins might require at least three nodes to be available. This is just a hint, not an enforced requirement. The default value is 1 so that for single node clusters, there would be no behavior changes.
* | Use https to fetch bazel-erlangPhilip Kuryloski2021-11-031-1/+1
| |
* | Use pinned bazel-erlangPhilip Kuryloski2021-11-031-3/+3
| | | | | | | | | | | | It's too disruptive to just track master. A piece of automation will be created to ensure the dep doesn't fall behind, but it can do so speculatively on a branch first via PR, potentially with auto-merging.
* | Merge pull request #3636 from rabbitmq/bump-otp-for-ociMichael Klishin2021-11-031-2/+2
|\ \ | | | | | | Adopt otp 24.1.4 for OCI workflow
| * | Adopt otp 24.1.4 for OCI workflowGitHub2021-11-031-2/+2
|/ /
* | Merge pull request #3633 from wrobell/rabbitmq-streams-doc-protocol-hexMichael Klishin2021-11-021-83/+83
|\ \ | | | | | | Use hex values in RabbitMQ Streams protocol description
| * | Use hex values in RabbitMQ Streams protocol descriptionwrobell2021-11-021-83/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The protocol documentation uses decimal values for error and request key codes. Let's use hex values instead. This helps when looking at a request and its response - 0x0006 and 0x8006 vs. 6 and 32774. Also, when looking at output of protocol analysis tools like Wireshark, a hexadecimal value will be printed, for example: "Nov 1, 2021 23:05:19.395825508 GMT","60216,5552","00000009000600010000000701" "Nov 1, 2021 23:05:19.396069528 GMT","5552,60216","0000000a80060001000000070001" Above, we can visually identify delete publisher request and response (0x0006 and 0x8006) and easily match them in the documentation of the protocol. Finally, above argument applies to logging as it is common to log hex values, not decimal.
* | | format with bazel files with buildifierPhilip Kuryloski2021-11-024-7/+7
| | |
* | | Maybe reduce flakiness of the exchange_SUITEPhilip Kuryloski2021-11-022-0/+2
| | |
* | | Adjustments for the latest bazel-erlangPhilip Kuryloski2021-11-0210-22/+17
| | |
* | | Type spec fixesKarl Nilsson2021-11-023-3/+3
| | | | | | | | | | | | So that dialyzer can pass.
* | | Merge pull request #3553 from rabbitmq/osiris-16-replication-over-tlsArnaud Cogoluègnes2021-11-022-2/+46
|\ \ \ | | | | | | | | Use inter-node TLS conf to enable Osiris TLS replication
| * | | Add Osiris to Bazel dependencies in prelaunchosiris-16-replication-over-tlsArnaud Cogoluègnes2021-11-021-0/+1
| | | |
| * | | Use Osiris helper to configure stream replication over TLSArnaud Cogoluègnes2021-11-021-7/+27
| | | | | | | | | | | | | | | | References rabbitmq/osiris#16
| * | | Redact password in logs when applying default configurationArnaud Cogoluègnes2021-11-021-2/+25
|/ / /