Commit Graph

49842 Commits

Author SHA1 Message Date
Karl Nilsson e6108e8320
Merge pull request #3908 from rabbitmq/stream-coord-mnesia-update-crash
Stream coordinator: avoid mnesia update process crashing after delete
2021-12-17 16:10:53 +00:00
Philip Kuryloski c8bc41f465 Cleanup BUILD.bazel 2021-12-17 17:08:16 +01:00
Karl Nilsson d72719a1ce Stream coordinator: avoid mnesia update process crashing after delete
If a delete happens shortly after a declare or other stream change
there is a chance the mnesia update process that is spawned will crash
when the amqqueue record cannot be recovered from durable storage.

This isn't harmful but does pollute the logs.
2021-12-17 14:41:24 +00:00
Loïc Hoguin 728e5b91b6
Fix log level when halting the VM
When switching from lager to logger a mistake was made and
the list of applications remaining when the node stops was
made to log at error level instead of info.

https://github.com/rabbitmq/rabbitmq-server/commit/cdcf602749a#diff-5d9f448b943b2c77af7822440fc8df8af02bf2001d1c51a484413f69cad37a62L473-R486
2021-12-17 09:47:33 +01:00
Luke Bakken 7c121e06e5
Make health checks less resource intensive
Alternative to #3893

Also see VESC-1015
2021-12-16 11:02:32 -08:00
Philip Kuryloski 249e8c853c Adjust the way rabbit_fifo.hrl is referenced in rabbit_fifo_SUITE
For erlang_ls convenience
2021-12-16 16:41:15 +01:00
Philip Kuryloski 75c50c0561 Additional erlang_ls.config fixes under bazel 2021-12-16 16:32:01 +01:00
Michael Klishin ea39234b3e
Merge pull request #3894 from rabbitmq/import-optimizations
Optimise user declare/update/import by reducing the number of operations
2021-12-15 20:52:35 +06:00
dcorbacho 08b78aa2d7 Optimise user declare/update/import by reducing the number of operations
User, tags and hashed password can be inserted/updated at once,
increasing the performance of the storage backend - mnesia.
2021-12-14 15:35:47 +01:00
Anh Thi Lan Nguyen 575b6a1188 Increase token expiration time 2021-12-14 17:18:09 +07:00
Anh Thi Lan Nguyen 8aeca45a17 Start SSL app for testing server 2021-12-14 16:47:20 +07:00
Anh Thi Lan Nguyen 0bc7c98bda Standardise README.md 2021-12-14 12:22:55 +07:00
Anh Thi Lan Nguyen 868443deb0 Correct configuration example in README.md 2021-12-14 11:28:33 +07:00
Anh Thi Lan Nguyen ea8ad0e3e3 Add timeout for httpc request 2021-12-14 11:28:33 +07:00
Anh Thi Lan Nguyen 093a04323b Add configurable crl_check and fail_if_no_peer_cert
- Add configuration: crl_check, fail_if_no_peer_cert
- Correct configuration: hostname_verification
2021-12-14 11:28:33 +07:00
Anh Thi Lan Nguyen 118e44c10e Add wildcard configuration
A "wildcard" configuration is added to enable key server verification with wildcard certificate
2021-12-14 11:28:33 +07:00
Anh Thi Lan Nguyen a9bc1c0ce9 Update README.md
- Update new configuration document
- Add configurable "depth" for key server verification
2021-12-14 11:28:33 +07:00
Anh Thi Lan Nguyen 8c541fb047 Set peer_verification default as verify_none 2021-12-14 11:28:33 +07:00
Anh Thi Lan Nguyen 1615cbfb8b Update better configuration names
- "strict" changes to "https.peer_verification"
- "cacertfile" changes to "https.cacertfile"
2021-12-14 11:28:33 +07:00
Anh Thi Lan Nguyen dd685f1179 Oauth2 plugin improvements
- Validate JWKS server when getting keys
- Restrict usable algorithms
2021-12-14 11:28:33 +07:00
Philip Kuryloski e4c89cecd5 Run the test suite on PRs 2021-12-13 18:26:04 +01:00
Michael Klishin db3b1d021d
Merge pull request #3882 from rabbitmq/mergify/bp/master/pr-3880
Revisit policy merging for boolean keys (backport #3880)
2021-12-11 01:49:54 +06:00
Michael Klishin ebd79836c1 Revisit operator policy merging rules for boolean fields
For booleans, we can prefer the operator policy value
unconditionally, without any safety implications.

Per discussion with @binarin @pjk25

(cherry picked from commit 6edb7396fd)
2021-12-10 19:48:16 +00:00
Michael Klishin 788e466aad
Merge pull request #3879 from rabbitmq/rabbitmq-server-3874-stream-response-code-on-leader-unavailability
Return appropriate response when stream leader not available
2021-12-11 01:47:23 +06:00
Arnaud Cogoluègnes 1bcca0745e
Increase timeout in stream test
Some CI environment may need a bit more time.
2021-12-10 12:08:02 +01:00
Arnaud Cogoluègnes 4c397c54fa
Use AssertJ conditions in Java stream test suite 2021-12-10 11:52:54 +01:00
Arnaud Cogoluègnes bd4771addb
Return appropriate response when stream leader not available
Fixes #3874
2021-12-10 10:58:48 +01:00
Arnaud Cogoluègnes 8f40e534ed
Bump Java test dependencies in stream test suites 2021-12-10 09:18:22 +01:00
Michael Klishin cf76b47930
Merge pull request #3870 from rabbitmq/lh/mandatory-before-confirms-bug
Fix case where confirms may not be sent
2021-12-08 20:02:14 +03:00
Loïc Hoguin 1b0eb9a4a3
Fix case where confirms may not be sent
A channel that first sends a mandatory publish before enabling
confirms mode may not receive confirms for messages published
after that. This is because the publish_seqno was increased
also for mandatory publishes even if confirms were disabled.
But the mandatory feature has nothing to do with publish_seqno.

The issue exists since at least
38e5b687de

The test case introduced focuses for multiple=false. The issue
also exists for multiple=true but it has a different impact:
sending multiple=true,delivery_tag=2 results in both messages
1 and 2 being acked, even if message 2 doesn't exist as far
as the client is concerned. If the message does exist
it might get confirmed earlier than it should have been. The
issue is a bigger problem the more mandatory messages were
sent before enabling confirms mode.
2021-12-08 15:53:47 +01:00
Philip Kuryloski b7cb8614f8
Merge pull request #3862 from rabbitmq/bump-rbe-24
Adopt latest rabbitmq-server-buildenv:linux-erlang-24.1 for RBE
2021-12-07 05:28:45 -08:00
Philip Kuryloski c9fcfdbedb
Merge pull request #3861 from rabbitmq/bump-rbe-23
Adopt latest rabbitmq-server-buildenv:linux-erlang-23.3 for RBE
2021-12-07 05:28:28 -08:00
tomyouyou 40db6563b8
Optimisation for 'delegate'
This is copied from https://github.com/rabbitmq/rabbitmq-common/pull/349


If a message is sent to only one queue(in most application scenarios), passing through the 'delegate' is meaningless. Otherwise, it increases the delay of the message and the possibility of 'delegate' congestion.

Here are some test data:
node1: Pentium(R) Dual-Core CPU E5300 @ 2.60GHz
node2: Pentium(R) Dual-Core CPU E5300 @ 2.60GHz

Join node1 and node2 to a cluster. Create 100 queues on node2, and start 100 consumers to receive messages from these queues.
Start 100 publishers on node1 to send messages to the queues of node2. Each publisher will send 10k messages at the rate of 100/s(10k/s theoretically in total), and all the messages for all publishers is 1 million.

Before optimisation:
{1,[{msg_time,812312(=<1ms),177922(=<5ms),9507(=<50ms),221(=<500ms),38(=<1000ms),0,0,0,0,1061,1069,0,0}]}

After optimisation:
{1,[{msg_time,902854(=< 1ms),93993(=<5ms),3038(=<50ms),96(=<500ms),19(=<1000ms),0,0,0,0,1049,1060,0,0}]}

Additional information:

Time counted here is the stay time of a message in the cluster, that is, Time(leaving from node2 at) - Time(reaching node1 at).
"812312(=<1ms)" is the number of messages with time consumption less than or equal to 1ms.
Overall, the optimisation is effective.
2021-12-07 17:58:42 +08:00
Philip Kuryloski b7e85db824 Add deps/rabbit/apps/* to the bazel erlang_ls config 2021-12-07 09:42:41 +01:00
GitHub f332237d3f Use latest rbe-erlang-platform/linux-erlang-24.1
for remote build execution (RBE) with BuildBuddy
2021-12-07 03:04:09 +00:00
GitHub 85b80bdd30 Use latest rbe-erlang-platform/linux-erlang-23.3
for remote build execution (RBE) with BuildBuddy
2021-12-07 03:03:43 +00:00
Michael Klishin 29763a9318
Merge pull request #3838 from rabbitmq/lukebakken/allow-compress-on-rotate
Add compress option for file rotation
2021-12-03 13:44:02 +03:00
Michael Klishin 8e2b92e75f
Merge pull request #3835 from rabbitmq/rabbitmq-server-3831
Extend log.file.rotation.date parser
2021-12-03 13:43:36 +03:00
Michael Klishin 65de676a01
Log rotation date spec: parse $H the same way Lager does 2021-12-03 13:22:37 +03:00
Arnaud Cogoluègnes b6f5b1c21a
Merge pull request #3842 from rabbitmq/rabbitmq-server-3841-stream-consumer-nested-record
Create configuration nested record in stream consumer record
2021-12-03 11:11:40 +01:00
Arnaud Cogoluègnes 854efb3e85
Declare variable for better formatting
References #3841
2021-12-03 10:59:45 +01:00
Arnaud Cogoluègnes 81b9632535
Create configuration nested record in stream consumer record
Only a couple of fields of the stream consumer record change
very frequently (credits and Osiris log reference), so this commit
introduces a nested record in the main consumer record that
contains the immutable fields. This potentially avoids producing
a lot of garbage, especially when the consumer state contains
several properties (consumer name, or single active consumer information
in the future).

Fixes #3841
2021-12-03 10:34:51 +01:00
Arnaud Cogoluègnes a0201f20d6
Merge pull request #3824 from rabbitmq/rabbitmq-server-3783-response-code-for-undefined-stored-offset
Return "no offset" (19) code when stored offset is undefined
2021-12-03 10:33:56 +01:00
Luke Bakken bf70e41c09
Add compress option for file rotation
Related to #3835

https://www.erlang.org/doc/man/logger_std_h.html
2021-12-02 15:10:06 -08:00
Michael Klishin 4e9bee8bab
rabbit_logger_std_h: make Dialyzer run 2021-12-02 19:30:05 +03:00
Michael Klishin 5cca024107
More log rotation date spec parser improvements
Note that Lager itself doesn't handle certain combinations:

 * $W0H45 is fine
 * $W0D1H45 fails with an error

but hopefully what we have now should be enough for
a minimalistic built-in log rotation feature.
2021-12-02 19:24:24 +03:00
Michael Klishin c5033b0cef
Extend log.file.rotation.date parser
to successfully parse all cases presented in Lager docs.

References #3831
2021-12-02 18:53:07 +03:00
Michael Klishin e1cd4673cc
Update 3.9.11 release notes 2021-12-02 18:20:32 +03:00
Michael Klishin c741e73496
Update 3.9.11 release notes 2021-12-02 09:30:36 +03:00
Michael Klishin 23dccdaa68
Merge pull request #3825 from johanrhodin/patch-3
Match help box to correct item
2021-12-01 23:29:26 +03:00