Commit Graph

24893 Commits

Author SHA1 Message Date
Loïc Hoguin 7ffb154787
Fix memory leak when using mandatory flag in CQs
MsgNo is defined for both mandatory flags and confirms,
but only confirms need to be kept track of in this module.
2021-10-13 14:13:56 +02:00
Michael Klishin 84b0ade5de
Merge pull request #3566 from rabbitmq/run-broker-more-plugin-ports
Allow having multiple `make run-broker` simulatneously
2021-10-13 13:39:59 +03:00
Michael Klishin d5b71e04b3
Merge pull request #3565 from rabbitmq/stream-queue-handle-unsupported-header-values
Stream queue: handle unsupported header value types
2021-10-13 13:17:10 +03:00
Gabriele Santomaggio f2df98aef9 change message 2021-10-13 12:01:21 +02:00
Gabriele Santomaggio 2eb625531d Disable the stream_plugin and stream management if the feature flag
is not enabled.
fixes https://github.com/rabbitmq/rabbitmq-server/issues/3557
2021-10-13 11:59:11 +02:00
Karl Nilsson 5520c6cafe Stream queue: handle unsupported header value types
As AMQP 0.9.1 headers are translated into AMQP 1.0 application properties
they are not able to contain complex values such as arrays or tables.

RabbitMQ federation does use array and table values so to avoid crashing when
delivering a federated message to a stream queue we drop them. These header values
should be considered internal however so dropping them before a final queue deliver should not be a huge problem.
2021-10-13 10:27:00 +01:00
Alexey Lebedeff 23be565a38 Allow having multiple `make run-broker` simulatneously
It was automatically happening for e.g. `make start-cluster`.

But some plugins were not covered by default generated config, and
running rabbit from 2 different worktrees was a bit complicated.
2021-10-13 10:52:02 +02:00
Michael Klishin 3826a0df25
Compile #3561 2021-10-13 01:27:16 +03:00
Michael Klishin 670f240537
Compile #3561 2021-10-12 20:17:51 +03:00
Gabriele Santomaggio c270ebf037 Disable the stream_plugin if the feature flag
is not enabled.
fixes https://github.com/rabbitmq/rabbitmq-server/issues/3557
2021-10-12 19:09:34 +02:00
Michael Klishin e087403e1a
Merge pull request #3554 from johanneswuerbach/expose-cluster-id
feat(prom): expose cluster id in identity
2021-10-12 17:48:46 +03:00
Johannes Würbach 84de860b4c
feat(prom): expose cluster id in identity 2021-10-12 15:43:46 +02:00
Arnaud Cogoluègnes 6b9589bae4
Handle stream arguments in add_super_stream command
max-age, leader-locator, etc.
2021-10-11 16:50:03 +02:00
Arnaud Cogoluègnes ecbd969834
Embed RPC call function in test 2021-10-11 16:50:02 +02:00
Arnaud Cogoluègnes 8ae60bef73
Fix group spec in test 2021-10-11 16:50:02 +02:00
Arnaud Cogoluègnes b0bd5f8a00
Add delete_super_stream CLI command 2021-10-11 16:50:02 +02:00
Arnaud Cogoluègnes a73b1a3d0d
Add add_super_stream CLI command 2021-10-11 16:50:01 +02:00
Arnaud Cogoluègnes 147659093f
Add functions to create/delete super stream in manager 2021-10-11 16:50:01 +02:00
Karl Nilsson 92f83a1af0 Improve consuming from a stream using AMQP 1.0
Allow an offset spec to be used to attach at an appropriate point in the
stream. This is done by specifying a source filter with the key rabbitmq:stream-offset-spec.

The offset is also included as a message annotation with the key x-stream-offset.

When a link is detached we also issue a basic.cancel to the 0.9.1 channel. If this wasn't done
and you detached then re-attached a link for the same queue you'd get a consumer-tag offset
error from the 0.9.1 channel.
2021-10-11 13:32:38 +01:00
Vy Hong a1a22b2a3c Log response body of failed AWS requests 2021-10-08 14:48:40 -07:00
Karl Nilsson db3944cfc4 Stream queue: use local pid for offset listeners
When a consumer reaches the end of a stream it need to register an
offset listener with the local stream member so that it can be notified
when new stream messages are committed. The stream queue implementation
for some reason registered offset listeners with the leader, not the local
member.
2021-10-07 14:31:09 +01:00
Philip Kuryloski 49a47586b0 Simplify erlc opts for rabbitmq_peer_discovery_common 2021-10-07 09:53:11 +02:00
Michael Klishin 798be7dcaf
Peer discovery AWS, K8S: more Dialyzer fixes 2021-10-07 03:42:44 +03:00
Luis Cusihuaman 5f81fff959 fix: list exchanges only by current vhost in topic-permissions 2021-10-06 19:06:00 -03:00
Philip Kuryloski 862917955b Adopt new default branch for ra 2021-10-06 13:36:32 +02:00
Philip Kuryloski 41d6172bf4 Adopt renamed default branch for osiris 2021-10-06 13:31:19 +02:00
GitHubPang 0f2a6123df
Fix typo in UI help hint 2021-10-04 08:01:43 +08:00
Michael Klishin 72c2e152ef
Merge pull request #3499 from rabbitmq/cla-url
Update CLA URL
2021-10-01 00:16:03 +03:00
Alexey Lebedeff 8c243c592d
Merge pull request #3520 from rabbitmq/alebedeff/opp-92
Emit identity info in prometheus /metrics/detailed endpoint
2021-09-30 13:45:26 +02:00
Philip Kuryloski ab0a9cd700
Merge pull request #3516 from rabbitmq/move-ct-helpers-to-monorepo
Move CT helpers to monorepo
2021-09-30 11:29:26 +02:00
Alexey Lebedeff 46df4f1689 Update makefiles/bazel to reflect CT helpers repo merge-in 2021-09-30 10:48:11 +02:00
Philip Kuryloski 9c9fb7ffb0 Shard cluster_management_SUITE by testcase to better manage timeouts
The suite level timeout the .erl I've learned is actually per
case. By sharding bu testcase, we can better match the common test
level and bazel level timeouts, such that we can get logs from remote
test run failures.
2021-09-30 10:38:39 +02:00
Vy Hong 7090199330 Reuse list of nodes in peer discovery plugins that use Erlang global locks
AWS, Kubernetes and Classic peer discovery plugins use list_nodes and
Erlang global:set_lock to create a mutex lock. To unlock, these plugins
get the latest list with list_nodes and call global:del_lock.

However, if list_nodes within unlock fails, RabbitMQ will throw an
uncaught exception and the lock will not be released until the node
holding the lock is restarted. This prevents new nodes from joining the
cluster.

This failure can be avoided by passing the list of nodes from lock to
unlock. If a node goes away (and comes back) between the lock and unlock
calls, del_lock could still successfully remove the lock. Similarly, if
a new node starts up between the lock and unlock calls, del_lock
wouldn't need to inform the new node.
2021-09-29 16:22:37 -07:00
Alexey Lebedeff b9072b5ac8 Merge rabbitmq_ct_client_helpers1 into monorepo 2021-09-28 19:53:20 +02:00
Alexey Lebedeff c292d04384 Merge rabbitmq_ct_helpers into monorepo with the whole history 2021-09-28 19:47:51 +02:00
Alexey Lebedeff 989a299720 Emit identity info in prometheus /metrics/detailed endpoint
This is needed to make filtering metrics on a cluster name possible.
2021-09-28 19:35:02 +02:00
Arnaud Cogoluègnes e8d0d380a2
Bump dependencies in stream Java tests 2021-09-28 14:02:10 +02:00
Arnaud Cogoluègnes fc80138204
Fallback to rabbit_stream:host/0 if advertised_tls_host not set
The advertised_host must also be tried for TLS connections.

References #3514
2021-09-28 14:00:41 +02:00
Carl Hörberg 52791c677b
Support for advertising different hostname for TLS stream connections
Use case: Allow plain connections over one (internal IP), and TLS
connections over another IP (eg. internet routable IP). Without this
patch a cluster can only support access over one or the other IP, not
both.

(cherry picked from commit b9e6aad035)
2021-09-28 13:47:22 +02:00
Philip Kuryloski f932c3e0bc bump a test timeout 2021-09-28 11:27:45 +02:00
Michael Klishin 04ae4ede5b
Merge pull request #3509 from rabbitmq/rabbitmq-server-3508-web-stomp-stream-consuming
Handle no-context delivery in web stomp
2021-09-27 22:28:16 +03:00
Ayanda Dube 3bce36b667 Preserve stacktraces in propagated unexpected internal auth backend
exceptions.
2021-09-27 19:19:30 +01:00
Arnaud Cogoluègnes b758edc642
Handle no-context delivery in web stomp
To support messages from streams, which do not have a
context (for credit flow).

References rabbitmq/rabbitmq-stomp#138

Fixes #3508
2021-09-27 09:52:48 +02:00
Ayanda Dube 78145d880a Extract SingleActiveConsumer channel-pid and consumer refs only once 2021-09-24 18:15:36 +01:00
Ayanda Dube fb0b1ec75a Remove code repetion in rabbit_auth_backend_internal catch statements
by matching and reusing the raised exception class
2021-09-24 18:15:36 +01:00
Michal Kuratczyk 1a2126676d Update CLA URL 2021-09-23 14:29:36 +02:00
Philip Kuryloski 89c96a5616 Adjust the federation_mgmt_SUITE timeout at the ct level
Set a timeout at the common test level that is less than 30
minutes. There is a 10 minute timeout at the bazel level, but if that
is reached, logs are not captured.
2021-09-23 13:59:00 +02:00
Philip Kuryloski 860653c97a Adjust the clustering_management_SUITE timeout at the ct level
Previously the bazel timeout and common test timeout were equal, which
meant that in practice the bazel timeout was often reached first, in
which case we don't receive the test logs
2021-09-23 13:55:18 +02:00
Philip Kuryloski 7fc60bae70
Merge pull request #3479 from rabbitmq/use-ct-helpers-for-prometheus-port
Use rabbitmq_ct_helpers to allocate prometheus port
2021-09-23 08:36:31 +02:00
Philip Kuryloski 7dc0c29227 Use only 3 nodes for feature_flags_with_unpriveleged_user_SUITE
The test does not appear reliable when it runs in Github actions. This
is currently the only test that does so. Other tests run of BuildBuddy workers.
2021-09-22 17:22:49 +02:00
Alexey Lebedeff 5501d07b8b Use rabbitmq_ct_helpers to allocate prometheus port
This test always used standard 15692 before, which were causing
conflicts with e.g. local `make run-broker`.
2021-09-22 15:23:35 +02:00
Alexey Lebedeff efce6b9f0d Allocate tcp port for prometheus plugin 2021-09-22 09:13:33 +02:00
Michael Klishin 1cabd3ccd4
Naming 2021-09-21 20:39:35 +03:00
Michael Klishin 1c09040533
Use rabbit_data_coercion functions here 2021-09-21 20:01:19 +03:00
Thuan Duong Ba 7aedc45d1f
convert property map to proplists and vice versa for uri obfucation in shovel config 2021-09-21 19:39:22 +03:00
Thuan Duong Ba 6dbdc991c3
Obfuscate credentials in shovel worker states to avoid plaintext passwords being logged on crashes 2021-09-21 19:39:22 +03:00
Michael Klishin 5fb118e8ef
Merge pull request #3409 from rabbitmq/lh-increase-queue-shutdown-timeout
Increase classic queue shutdown timeout
2021-09-21 16:46:21 +03:00
Michael Klishin 92a6d0fbad
Merge pull request #3469 from rabbitmq/lh-observer_cli-1.7.1
Upgrade to Observer CLI 1.7.1
2021-09-21 16:22:56 +03:00
Karl Nilsson be380930ec Stream coordinator: monitor task processes
So that they are cleaned up from the stream coordinator aux state
when they finish instead of growing indefinitely.
2021-09-21 13:09:46 +01:00
Loïc Hoguin 43d40231b9
Upgrade to Observer CLI 1.7.1
Previous version was not working on Windows due to a crash.
2021-09-21 13:49:58 +02:00
Philip Kuryloski 6e6279eb2b Reduce a test timeout
The original value of 15 minutes was inherited from a larger suite. 5
should be sufficient, as a passing run is typically around 2 minutes.
2021-09-21 10:16:38 +02:00
Michael Klishin ddbd56b1d9
Merge pull request #3462 from rabbitmq/mk-rabbit-nodes-all
Introduce rabbit_nodes:all/0
2021-09-20 23:08:03 +03:00
Michael Klishin 0f6a9dac27
Introduce rabbit_nodes:all/0 2021-09-20 22:24:25 +03:00
Alexey Lebedeff e4bda83b8e
Merge pull request #3421 from rabbitmq/alebedeff/opp-92
Make prometheus plugin output customizable
2021-09-20 17:53:47 +02:00
Arnaud Cogoluègnes 9ea1a823cc
Merge pull request #3448 from rabbitmq/qq-consumer-cancellation-fixes
Quorum Queue consumer cancellation fixes
2021-09-20 17:29:26 +02:00
Alexey Lebedeff 4bb2262140 Allow selective querying for prometheus plugin 2021-09-20 14:59:17 +02:00
Karl Nilsson ee6ef35873 Emit release cursor for more commands
It should be rare that repeated use of these commands would grow the
Raft log excessively but just incase we evaluate the release cursors
here anyway so that if the queue is empty we may trigger a snapshot
anyway.
2021-09-20 12:19:22 +01:00
Michael Klishin 80c00aed04
Merge pull request #3454 from rabbitmq/mk-node-cluster-membership-internal-events
Emit a node.added event when a new node joins the cluster
2021-09-19 20:23:02 +03:00
Michael Klishin c8781e5da7
Emit a node.added event when a new node joins the cluster 2021-09-19 18:59:26 +03:00
Karl Nilsson eaa216da82 QQ: emit release cursors after consumer cancel
If this is not done apps that consume/cancel from empty queues in a loop
will grow the raft log in an unbounded manner. This could also be the
case for the garbage_collect command.
2021-09-17 17:09:30 +01:00
Karl Nilsson 5779059bd5 QQ: fix memory leak when cancelling consumer
If the queue is empty when a consumer is cancelled it would leave the
consumer id inside the service queue. If an application subscribes/unsubscibes
in a loop from an empty queue this would cause the service queue to never be
cleared up.

NB: whenever we make a change to how the quorum queue state machien is
calculated we need to consider how this effects determinism as during an
upgrade different members may calculate a different service queue state.
In this case it should be ok as they will eventually converge on the same
state once all "dead" consumer ids have been removed from the queue.

In any case it should not affect how messages are assigned to consumers.
2021-09-17 14:53:33 +01:00
Philip Kuryloski 0b545bf099
Merge pull request #3442 from rabbitmq/deterministic-flag-make
Use the +deterministic compiler flag when building with Make
2021-09-17 13:59:31 +02:00
Philip Kuryloski eea99e1cd5 Split the feature_flags_SUITE into two parts for CI/Bazel
Two testcases in the original suite fail if the test is run as the
root user. Currently under remote execution with bazel this is the
only working option. There is a workaround in place, but the entire
suite when run that way takes around 12 minutes. This splits the suite
so that the minimal set of cases is executed using the slower workaround.
2021-09-17 11:08:48 +02:00
Philip Kuryloski bcd565f2cb Use the +deterministic compiler flag when building with Make 2021-09-17 09:34:50 +02:00
Philip Kuryloski 6a161475fc Use the deterministic compiler flag for elixir/rabbitmq_cli 2021-09-16 16:45:11 +02:00
Philip Kuryloski 2da7c8d8c4
Merge pull request #3422 from rabbitmq/management_ui-add-counters_3416
Add counters on detail pages
2021-09-16 14:52:52 +02:00
Arnaud Cogoluègnes ab2c565b49
Merge pull request #3423 from rabbitmq/streams-sort-partitions
Sort stream partitions using binding parameter
2021-09-15 14:56:17 +02:00
Arnaud Cogoluègnes faee72552a
Polish test 2021-09-15 11:56:53 +02:00
Arnaud Cogoluègnes 4bbed58352
Add Bazel rule for rabbit_stream_utils_SUITE 2021-09-15 11:38:17 +02:00
Arnaud Cogoluègnes 5b83dceb87
Return only streams for partition-related commands
The stream partition metadata is based on bindings,
so we make sure to return only streams from the binding
information.
2021-09-15 11:33:04 +02:00
Arnaud Cogoluègnes b140395864
Fall back to HOSTNAME(1) in stream Java test suite
In case the Java way fails (only on new CI).
2021-09-15 10:36:27 +02:00
Arnaud Cogoluègnes 04a0653571
Sort stream partitions using binding parameter
If present. To make the partition order stable.
2021-09-14 18:02:22 +02:00
Gabriele Santomaggio 23d0e4d458 Add counters on detail pages
closes https://github.com/rabbitmq/rabbitmq-server/issues/3416
2021-09-14 17:26:05 +02:00
Gabriele Santomaggio 756282b056 Add counters on detail pages
closes https://github.com/rabbitmq/rabbitmq-server/issues/3416
2021-09-14 17:25:34 +02:00
Gabriele Santomaggio 346adc86af Add counters on detail pages
closes https://github.com/rabbitmq/rabbitmq-server/issues/3416
2021-09-14 17:18:49 +02:00
Loïc Hoguin dfe0f4b0a6
Clear federation before deleting message_flow queues
Without this change the test could take a very long time to
cleanup the queues and finish because of a race condition
between the queue deletion and the federation link being
restarted and declaring the queue again.

(The test bidirectional was renamed to message_flow to better
 represent what it is doing.)
2021-09-14 14:46:36 +02:00
Arnaud Cogoluègnes 3f1b228dcc
Merge pull request #3394 from rabbitmq/rabbitmq-server-3389-stream-publishers-in-queue-page
Display stream publishers in queue management page
2021-09-14 08:11:53 +02:00
Michael Klishin c8d483809e
Resolve a missed conflict 2021-09-13 20:33:11 +03:00
Michael Klishin f79bc1c935
Merge branch 'master' into stream-reader-close-in-terminate
Conflicts:
	deps/rabbitmq_stream/src/rabbit_stream_reader.erl
2021-09-13 20:27:58 +03:00
Arnaud Cogoluègnes 8f207e3c5f
Make stream protocol route command return several streams
We expect to have 1 stream for each routing key, but
as binding can return several queues for a given key we
let that possibility open in the stream protocol.
2021-09-13 17:53:25 +02:00
Arnaud Cogoluègnes b0ec9ff64c
Adapt stream publisher list view to connection/queue context
References #3389
2021-09-13 16:31:06 +02:00
Arnaud Cogoluègnes 39a51772c6
Add extension into dispatcher block code
This is necessary to make sure the extension addition is actually
done in case of refresh of the queue page.

References #3389
2021-09-13 15:17:49 +02:00
Karl Nilsson 9e4506041d fix build warnings 2021-09-13 11:38:41 +01:00
Karl Nilsson 135575b3ff Stream reader: close osiris logs and sockets in terminate
Instead of injecting it into varios places inside the code.

When the osiris log is closed it will decrement the global "readers"
counter which is why it is much safer to do this in terminate.
2021-09-13 11:23:35 +01:00
Loïc Hoguin 09c8cd4f98
Increase classic queue shutdown timeout
A value that is too low will prevent the index from shutting
down in time when there are many queues. This leads to the
process being killed and on the next RabbitMQ restart a
(potentially very long) dirty recovery is needed.

The value of 10 minutes was chosen to mirror the shutdown
timeout of the message store. Since both queues and message
store need to have shut down gracefully in order to have
a clean restart it makes sense to use the same value.

Related: c40c2628a9
2021-09-13 10:59:30 +02:00
Karl Nilsson 239e136480
Merge pull request #3397 from rabbitmq/handle-connection-closures-in-stream-reader
Handle closed connections in stream reader
2021-09-10 16:03:04 +01:00
Karl Nilsson 3b1714cbe3 formatting 2021-09-10 15:26:26 +01:00
Karl Nilsson f10db03b4d Gracefully terminate stream reaader
when the client forcefully terminates TCP connection

Also improve logging.
2021-09-10 15:24:29 +01:00
Philip Kuryloski 16a22f0424
Merge pull request #3401 from rabbitmq/ranch-21-bazel
Use Ranch 2.1.0 in bazel build
2021-09-10 15:16:10 +02:00
Arnaud Cogoluègnes b5700751cf
Add HTTP endpoint for stream publishers
References #3389
2021-09-10 15:14:09 +02:00
Michal Kuratczyk 624767281f Enable metrics collection in run_tests
Proposed `min-masters` implementation relies on metrics so they need to
be collected during queue_master_location tests.
2021-09-10 14:51:11 +02:00
Philip Kuryloski 5fd9d1f638 Use Ranch 2.1.0 in bazel build
Matches 063d32626d
2021-09-10 14:46:36 +02:00
Michael Klishin 13ac078746
Merge pull request #3398 from rabbitmq/rabbitmq-server-3390
Revisit two rabbitmq.conf validators
2021-09-10 13:53:37 +03:00
Michael Klishin 3248895ec9
Revisit two rabbitmq.conf validators
* max_message_size had an off-by-one error and unfortunate naming
 * classic mirrored queue batch size was not validating the size in messages.
   The limit of over 2B messages did not make much sense. 1M is a still very
   high but a more reasonable upper bound

Fixes #3390
2021-09-10 13:16:21 +03:00
Karl Nilsson d6301a3e11 Handle closed connections in stream reader
and throw and stop gracefully.
2021-09-10 10:15:59 +01:00
Arnaud Cogoluègnes 0038573f89
Display stream publishers in queue management page
If the queue is a stream. WIP, currently all the stream publishers
are listed, a new publishers per stream endpoint is required.

References #3389
2021-09-09 17:41:38 +02:00
Loïc Hoguin 0a2bde4ab1
Use the new function ranch_proxy_header:to_connection_info/1 2021-09-09 13:15:08 +02:00
Michael Klishin d01b01663b
CLI: introduce :tanzu as a new scope 2021-09-09 13:06:57 +03:00
Karl Nilsson 3513fa0ea8 rabbitmq_stream formatting 2021-09-09 09:45:13 +01:00
Philip Kuryloski 2b6296c4e2 Mark //deps/rabbitmq_mqtt:cluster_SUITE as flaky 2021-09-08 11:53:05 +02:00
Philip Kuryloski efe8da4d41 Allow the rabbit_ct_config_schema helper to work on v3.8 & v3.9
by checking for the presence of lager on the code path as a marker
distinguising rabbit versions
2021-09-07 14:47:51 +02:00
Paweł Chmielowski 6af41527f1 Fix some edge cases in handling ssl information from PROXY protocol
When we fail to parse name of cipher suite from PROXY protocol
just say that no ssl is used, instead of trying to fill that
with data from connection between proxy and our server.
2021-09-06 19:36:42 +02:00
Michael Klishin f493529fec
Add a note on replicated queue types 2021-09-05 16:51:30 +03:00
Michael Klishin f6c8380be5
rabbit_vhost: handle imported tags that are atom lists 2021-09-03 18:38:47 +03:00
Federico Caprari 2246727428
Fix store offset parameters
As you can see 860333a088/deps/rabbitmq_stream_common/src/rabbit_stream_core.erl (L239)

There is the stream name and not the subscription id in this message.
2021-09-01 22:13:07 +02:00
Jean-Sébastien Pédron ef9eee8229
rabbit_boot_state: Fix style bug 2021-09-01 12:24:02 +02:00
Jean-Sébastien Pédron 409dc0e52a
rabbit_boot_state: Support Xterm titlebar update
With this change and if the RabbitMQ node is running on Unix and accepts
input, the titlebar of an Xterm-compatible terminal emulator will show a
few details about the running node. Specifically, it will indicate the
name of the node and the version of RabbitMQ.
2021-09-01 12:23:58 +02:00
Jean-Sébastien Pédron b95d540669
rabbitmq_cli: Fix `maintenance_mode_status` feature flag name
... in testsuite.

This didn't really affect the testsuite because all feature flags are
enabled earlier if I understand correctly.
2021-09-01 11:30:48 +02:00
Jean-Sébastien Pédron 745e42ac0f
Merge pull request #3338 from rabbitmq/enable-single_line-logging-from-env-var
Logging: Add `single_line` flag support to $RABBITMQ_LOG
2021-09-01 11:27:57 +02:00
Arnaud Cogoluègnes 902fa429dd
Use awaitMatch to check global counters
Assertion fails on CI environment.
2021-09-01 09:51:06 +02:00
Jean-Sébastien Pédron 689c56cb04
Logging: Add `single_line` flag support to $RABBITMQ_LOG
A user could already enable single-line logging (the `single_line`
option of `logger_formatter` or RabbitMQ internal formatters) from the
configuration file. For example:

    log.console.formatter.single_line = on

With this patch, the option can be enabled from the `$RABBITMQ_LOG`
environment variable as well:

    make run-broker RABBITMQ_LOG=+single_line
2021-09-01 09:31:54 +02:00
Gerhard Lazu 6a1faa6fd6
Keep checking that replica recovered in rabbit_stream_queue
Rather than sleeping for 6 seconds, we want to check that replica
recovered multiple times within 30 seconds, and either eventually
succeed, or fail if this does not recover within 30 seconds, the default
await_condition time interval.

Pair: @kjnilsson

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-31 17:02:21 +01:00
Karl Nilsson c240ec2985
Fix function_clause error in stream reader
When the server initiate connection close.
2021-08-31 15:29:16 +01:00
Karl Nilsson c016567359
stream coordinator: further logging improvements
Also increased the tick timeout to avoid checking for new rabbit nodes
to auto add too often.

Also increased sleep times for nodedowns to retry less often.
2021-08-31 15:29:16 +01:00
Karl Nilsson b59d87d90e
Tidy up some stream coordinator warning logs
Some logs used ~p to format a full stack trace. Given these warnings are emitted during
any nodedown this unnecessarily pollutes the logs. Trimmed using ~W instead.
2021-08-31 15:29:16 +01:00
Karl Nilsson 9092de1e32
Stream coordinator: only return tail info if osiris app is started
This ensures that only nodes that are ready to host stream members
are included in the election. This avoids continuous restart attempts
when the rabbit application is stopped.
2021-08-31 15:29:16 +01:00
Gerhard Lazu 6c0ba03d61
Test that we start from 0 publishers & consumers
Pair: @kjnilsson

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-31 15:29:16 +01:00
Gerhard Lazu 0ecf3d4eeb
Test stream publisher & consumer counters
Pair: @kjnilsson

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-31 15:29:16 +01:00
Gerhard Lazu dad0025088
Perform stream reader cleanup in terminate
Otherwise metrics will not get cleaned up correctly when processes crash.

It's also tidier to do this in a single place, in terminate/3

Pair: @kjnilsson

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-31 15:29:15 +01:00
Arnaud Cogoluègnes 8dc024089c
Bump dependencies in Java stream tests 2021-08-31 08:32:53 +02:00
Philip Kuryloski 09fb5c5321 Skip additional tests in mixed versions
The tests in question won't pass consistently as they are at the mercy
of how the quorum queue is placed across the mixed version nodes
2021-08-30 17:17:25 +02:00
Michael Klishin 83f007be54
Merge pull request #3341 from rabbitmq/local-exclusive-queues
Always place exclusive queues on the local node
2021-08-28 09:54:49 +03:00
Michael Klishin 3b4b4dc222
Exclude roundtrip definition import cases from mixed version runs
References #3333
2021-08-26 19:10:11 +03:00
Michael Klishin 54f7b6d77c
Re-format two definition import input files 2021-08-26 19:03:14 +03:00
Michael Klishin 42a3dfa81b
Exclude the #3333 test case from mixed version runs 2021-08-26 17:25:07 +03:00
Michal Kuratczyk d3dcd48ea5 Always place exclusive queues on the local node
Prior to this change, exclusive queues have been subject to the queue
location process, just like other queues. Therefore, if
queue_master_locator was not client-local and x-queue-master-locator was
not set to client-local, an exclusive queue was likely to be located on
a different node than the connection it is exclusive to.  This is
suboptimal and may lead to inconsistencies when the queue's node goes
down while the connection's node is still up.
2021-08-26 13:05:55 +02:00
Michael Klishin 2e61f51773
Commit definition import case16 file 2021-08-24 04:41:51 +03:00
Michael Klishin 6f97707dac
Definition import: correctly import vhost metadata 2021-08-24 04:41:04 +03:00
Michael Klishin 6bf4a99f58
Update a mock expectation 2021-08-21 00:53:42 +03:00
Michael Klishin 59ebb83506
rabbitmq_aws: drop trailing dot in some log messages 2021-08-21 00:45:07 +03:00
Bilal Acar 4d96d4099c
Started using function heads 2021-08-21 00:45:07 +03:00
Bilal Acar ca018ef110
Addressing PR comments 2021-08-21 00:45:07 +03:00
Bilal Acar 50f9bcf504
Adding retries to AWS API calls
Adding retries to AWS API calls
2021-08-21 00:45:07 +03:00
Michael Klishin 11760f95bd
Don't run #3319 assertions in mixed version clusters 2021-08-19 23:03:09 +03:00
Jean-Sébastien Pédron 0b1942bdc0
rabbit_{connection,channel}_tracking: Fix race condition in list()
The table might not exist yet (or is already gone) between the time
rabbit_nodes:all_running() runs and returns a specific node, and
mnesia:dirty_match_object() is called for that node's table.

This seems to happen frequently in CI.
2021-08-19 16:45:24 +02:00
Michael Klishin f5fe419892
Make PUT /api/vhosts/{name} update tags and/or description 2021-08-18 19:07:25 +03:00
Michael Klishin ea75297bf8
Merge pull request #3312 from rabbitmq/alarms-metric1
Expose alarms as Prometheus metrics
2021-08-17 22:16:30 +03:00
Michael Klishin 47b20e8f7c
Prometheus: alarm-related metric naming 2021-08-17 20:58:24 +03:00
Michael Klishin 6a0058fe7c
Introduce TLS-related rabbitmq.conf settings for definition import
currently only used by the HTTPS mechanism but can be used by
any other.
2021-08-17 20:42:53 +03:00
Ilya Khaprov 9fed915192
Add alarms prometheus collector.
close #2653
2021-08-16 20:32:29 +02:00
Michael Klishin f3a5235408
Refactor definition import to allow for arbitrary sources
The classic local filesystem source is still supported
using the same traditional configuration key, load_definitions.

Configuration schema follows peer discovery in spirit:

 * definitions.import_backend configures the mechanism to use,
   which can be a module provided by a plugin
 * definitions.* keys can be defined by plugins and contain any
   keys a specific mechanism needs

For example, the classic local filesystem source can now be
configured like this:

``` ini
definitions.import_backend = local_filesystem
definitions.local.path = /path/to/definitions.d/definition.json
```

``` ini
definitions.import_backend = https
definitions.https.url = https://hostname/path/to/definitions.json
```

HTTPS may require additional configuration keys related to TLS/x.509
peer verification. Such extra keys will be added as the need for them
becomes evident.

References #3249
2021-08-14 14:53:45 +03:00
Michael Klishin 1eacbaac15
Merge pull request #3299 from rabbitmq/add-env-vars-to-set-default-user-pass-vhost-and-erlang-cookie
Add support to override `default_{user,pass,vhost}` and the Erlang cookie from the environment
2021-08-11 23:06:46 +03:00
Michael Klishin 81780dc95e
Log a warning when Erlang cookie is overriden using an env variable
as it can be really difficult to troubleshoot such cookie changes
2021-08-11 20:34:38 +03:00
Jean-Sébastien Pédron d0b7a33a0f
Logging: Add comments explaining when burst limit is disabled
Follow-up to rabbitmq/rabbitmq-server#3298.
2021-08-11 16:56:21 +02:00
Jean-Sébastien Pédron bd39027d68
Add support for $RABBITMQ_ERLANG_COOKIE env var
It is the equivalent of the content of the Erlang cookie file. Note this
variable IS the cookie value, NOT the path to a cookie file.

If it is set, it will take precedence over the content of the Erlang
cookie file.

Fixes docker-library/rabbitmq#508.
2021-08-11 15:50:40 +02:00
Jean-Sébastien Pédron 46b8321bd9
Add support for $RABBITMQ_DEFAULT_{USER,PASS,VHOST} env vars
They are the equivalent of the `default_{user,pass,vhost}` configuration
settings. Each set environment variable will take precedence over its
configuration file counterpart.

Fixes docker-library/rabbitmq#508.
2021-08-11 15:50:40 +02:00
Jean-Sébastien Pédron 33c6cbf239
rabbit_env: Add $RABBITMQ_DEFAULT_{USER,PASS,VHOST} and $RABBITMQ_ERLANG_COOKIE vars
Those environment variables are unset by default. The default values are
set in the `rabbit` application environment and can be configured in the
configuration file. However, the environment variables will take
precedence over them respectively if they are set.
2021-08-11 15:50:36 +02:00
Alexey Lebedeff 1e8ba5bffc Use elixir itself to find its lib directory
This removes all the guesswork from the process. E.g. the old version
was not working with elixir from nixpkgs/NixOS.
2021-08-11 15:41:00 +02:00
Jean-Sébastien Pédron 2e955b0a50
Logging: Disable burst limit if the log level is set to `debug`
Otherwise, messages are being dropped, in particular during RabbitMQ
startup because of the amount of debug messages logged in that phase.

Burst limit is enabled again if the log level is set to `info` or
higher.
2021-08-11 15:32:39 +02:00
Gerhard Lazu 62d82e1660
Break down metrics by node in all RabbitMQ-Stream pie charts
Otherwise we won't be able to see which nodes are running "hot"

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-11 13:39:30 +01:00
Loïc Hoguin 8c019fb993
Merge pull request #3295 from rabbitmq/lh-test-dropwhile-restart-bug
Add tests for the regression introduced in #3041
2021-08-11 14:27:56 +02:00
Loïc Hoguin 24c25ab3cc
Add tests for the regression introduced in #3041 2021-08-11 12:50:04 +02:00
Michael Klishin 133e0ab72d
Manually apply rabbitmq/rabbitmq-website#1241 by @lushndm 2021-08-11 13:34:27 +03:00
Jean-Sébastien Pédron 51cfa4eb96
rabbit_boot_state: Wrap boot_state() type definition line
... to fit in 80 columns.
2021-08-10 15:12:05 +02:00
Jean-Sébastien Pédron 5a96d18aa2
systemd: Enclose status description inside quotes
... in the log message.
2021-08-10 15:12:05 +02:00
Jean-Sébastien Pédron 23c71b254f
systemd: Do not report "stopping" state to systemd
The problem is we only know about the state of the `rabbit` Erlang
application — when it is started and stopped. But we can't know the fate
of the Erlang VM, except if `rabbit:stop_and_halt()` is called. This
function is not called if `init:stop()` or a SIGTERM are used for
instance.

systemd is interested in the state of the system process (the Erlang
VM), not what's happening inside. But inside, we have multiple
situations where the Erlang application is stopped, but not the Erlang
VM. For instance:

    * When clustering, the Erlang application is stopped before the
      cluster is created or expanded. The application is restarted once
      done. This is controled either manually or using the peer
      discovery plugins.

    * The `pause_minority` or `pause_if_all_down` partition strategies
      both stop the Erlang application for an indefinite period of time,
      but RabbitMQ as a service is still up (even though it is managing
      its own degraded mode and no connections are accepted).

In both cases, the service is still running from the system's service
manager's point of view.

As said above, we can never tell "the VM is being terminated" with
confidence. We can only know about the Erlang application itself.
Therefore, it is best to report the latter as a systemd state
description, but not reporting the "STOPPING=1" state at all. systemd
will figure out itself that the Erlang VM exited anyway.

Before this change, we were reporting the "STOPPING=1" state to systemd
every time the Elang application was stopped. The problem was that
systemd expected the system process (the Erlang VM) to exit within a
configured period of time (90 seconds by default) or report that's it's
ready again ("READY=1"). This issue remained unnoticed when the cluster
was created/expanded because it probably happened within that time
frame. However, it was reported with the partition healing strategies
because the partition might last longer than 90 seconds. When this
happened, the Erlang VM was killed (SIGKILL) and the service restarted.

References #3262.
Fixes #3289.
2021-08-10 15:12:01 +02:00
Jean-Sébastien Pédron 47e0a5fb4c
Logging: Use `:` as the separator in verbosity mapping
This is the same separator as the field mapping. I don't remember why I
picked a different character... Now, it feels awkward and non-intuitive
for users.
2021-08-10 14:26:27 +02:00
Jean-Sébastien Pédron 29bab5935c
Logging: Always represent Epoch-based timestamps as integers
Before this change, seconds were represented as floats.
2021-08-10 13:33:52 +02:00
Jean-Sébastien Pédron c2ea12ba39
Merge pull request #3281 from rabbitmq/fix-epoch-timestamp-crash-in-json-logging
Logging: Fix crash when Epoch-based timestamps are used with JSON
2021-08-10 13:32:40 +02:00
Jean-Sébastien Pédron 6c8cf4c510
Logging: Fix crash when Epoch-based timestamps are used with JSON
The code was passing a number (the timestamp) to
unicode:characters_to_binary/1 which expects an iolist to convert to
UTF-8.

We now verify if we have a number before calling that function. If this
is a number (integer or float), we keep it as is because JSON supports
that type.
2021-08-10 12:34:11 +02:00
dcorbacho de7028979e
Unlink spawned processes once we're done
`EXIT` messages captured by ra polute the log.
The link is only needed to ensure no orphan processes are left behind,
so they can be safely unlinked once the work is done.

Maybe resizing cluster coordinator does not require linking, only
phases are problematic when a coordinator is stopped
2021-08-10 13:22:18 +03:00
Michael Klishin 8c1183b0fd
Ditto in rabbitmq_stream_management 2021-08-10 12:16:54 +03:00
Michael Klishin ace3ee9cd9
Bump Java stream client used in tests 2021-08-10 11:32:57 +03:00
Michael Klishin 36ad3a5b3d
Revert "CQ: don't deliver right before acking in the index"
This reverts commit 3ef858746c.

This change does not handle expired messages safely.

See https://github.com/rabbitmq/rabbitmq-server/discussions/3272.
2021-08-10 01:33:32 +03:00
Alexey Lebedeff 87532c4af4 Make test/development related makefile vars lazy
They were trying to run `hostname` and `which`, which produced a bunch
of error messages in a hermetic build environment.

And performance of those `shell` calls is not very important, as they
are caled just a few times during script runtime anyway (there is a
hack to make these lazy, but evaluating only once - but it's hardly
worth it).
2021-08-06 17:32:04 +02:00
Michael Klishin 49fd6b3e8d
Make sure 'rabbitmq-upgrade {drain, revive}' do not produce scary log messages
"scary" here means log messages that show up as "errors". Warnings
and info messages make more sense.

Per discussion with @mkuratczyk.
2021-08-05 16:26:13 +03:00
Michael Klishin cf2c6099b3
Merge pull request #3263 from rabbitmq/rabbitmq-server-3260
Partially reintroduce locking to mirrored_supervisor
2021-08-05 15:33:06 +03:00
Michael Klishin c84115f102
Warn when lock could not be acquired successfully 2021-08-05 11:31:35 +03:00
Michael Klishin 22add3c8ca
Acquire locks when starting mirrored supervisor children
Unlike pg2, pg in Erlang 24 is eventually consistent. So this
reintroduces some of the same kind of locking mirrored_supervisor
used to rely on implicitly via pg2.

Per discussion with @lhoguin.

Closes #3260.

References #3132, #3154.
2021-08-05 00:39:16 +03:00
Michael Klishin 9a0f4b17cd
More mirrored supervisor logging 2021-08-04 16:58:44 +03:00
Michael Klishin 4f3d5e5e13
Mirrored supervisor: more logging at debug level 2021-08-04 15:56:45 +03:00
Philip Kuryloski 04371b0340 Bump a test timeout 2021-08-04 14:55:44 +02:00
Philip Kuryloski a3410904d6 Bump a test timeout 2021-08-04 13:06:29 +02:00
Philip Kuryloski aefb8ad753 bump a test timeout 2021-08-04 09:42:03 +02:00
Philip Kuryloski 35ab19c4a6 Bazel test timeouts 2021-08-03 17:06:12 +02:00
Philip Kuryloski 40954c1ca2 Update some bazel test timeouts 2021-08-03 15:51:02 +02:00
Philip Kuryloski c9e016d545 Remove duplicate compilation options in rabbit_common 2021-08-03 14:31:05 +02:00
Michael Klishin c12544f545
Update rabbitmq.conf.example header
mostly to test Mergify integration with @pjk25.
2021-08-03 13:19:52 +03:00
David Ansari 4b774db5c1 Use same threshold color for "Errors since boot" 2021-08-02 17:05:17 +02:00
David Ansari c99ee6961e Use same colorMode in all RabbitMQ-Stream panels
Co-authored-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-02 13:33:00 +02:00
David Ansari ea18c31288 Make RabbitMQ-Stream dashboard work via ConfigMap
Before this commit, importing the dashboard via ConfigMap as seen in
1eb1dc618e
didn't work because DS_PROMETHEUS variable was undefined in Grafana.

Related to https://github.com/rabbitmq/rabbitmq-server/pull/3250

Co-authored-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-02 13:12:48 +02:00
Gerhard Lazu 65afbb931b
Ensure RabbitMQ-Stream dashboard works correctly after import
This breaks the docker-compose integration, but we need to move away
from it anyways, the whole dev flow needs revisiting after our focus on
K8s.

$__rate_interval does not work with irate, dropping it in favour of 60s,
same as all other dashboards.

This is a follow-up to https://github.com/rabbitmq/rabbitmq-server/pull/3250

Thanks @ansd for mentioning about the post-import issues.

It was uploaded as https://grafana.com/api/dashboards/14798/revisions/3/download

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-07-30 13:53:02 +01:00
Gerhard Lazu 35a6369327
Restart stream-perf-test on-failure
This handles the scenario where rmq2 is not available, and
stream-perf-test exits with a non-zero exit code. Good spot @ansd!

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-07-30 11:25:36 +01:00
David Ansari 47d572908d Convert string to integer for ulimits.nofile
Before this commit:

> make overview metrics
services.rmq1.ulimits.nofile.hard must be a integer
make: *** [Makefile:68: overview] Error 15

Accoring to the docs
https://docs.docker.com/compose/compose-file/compose-file-v3/#ulimits
this must be an integer.
2021-07-30 09:46:38 +02:00
Gerhard Lazu 6f5c4118ea
Publish RabbitMQ-Stream dashboard to grafana.com
Removed the Dockerfile and slimmed down the Makefile, all of this is now
handled by https://github.com/rabbitmq/rabbitmq-server/blob/master/.github/workflows/oci.yaml
cc @Zerpet @pjk25

More details here (including the steps used to publish to grafana.com):
https://github.com/rabbitmq/release-engineering/issues/11#issuecomment-887627938

I don't want to hold up this PR, will invest in automating the
steps described in the previous link another time. Time to 🚀

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-07-29 19:34:05 +01:00
Philip Kuryloski cb3c93cc9e Increase a test timeout 2021-07-29 14:50:43 +02:00
Michael Klishin 1596f031ee
Merge pull request #3239 from rabbitmq/some-sort-of-unicode-support-in-env-files
Do not crash on badarg when env file has certain Unicode characters
2021-07-28 23:18:41 +03:00
Michael Klishin 6ef0c513e8
Merge pull request #3241 from rabbitmq/stream-absent
Handle 'absent' return value
2021-07-28 23:13:51 +03:00
dcorbacho 606429e90c Handle 'absent' return value 2021-07-28 21:48:37 +02:00
Michael Klishin 0617419e75
This *is* a Unicode character, U+060E 2021-07-28 19:04:16 +03:00
Ilya Khaprov 854f26ac18
Do not crash on badarg when env file has an 'unusual' unicode character
closes #3212
2021-07-28 16:39:17 +02:00
Philip Kuryloski c8cfd023a9
Merge pull request #3189 from rabbitmq/docker-library-rabbitmq-500
Bring the docker image up to date with the docker-library version
2021-07-28 11:15:27 +02:00
Philip Kuryloski 967f314f6f bazel timeouts 2021-07-28 10:38:04 +02:00
Philip Kuryloski a0a5bf3c01 Update peer discovery aws tests for docker image changes 2021-07-28 10:19:11 +02:00
Philip Kuryloski b8cabfe3dd bump test timeouts 2021-07-28 08:37:40 +02:00
Michael Klishin 2efc3d22fa
Merge pull request #3176 from rabbitmq/stream-error-handling
Better error handling for streams
2021-07-27 22:25:06 +03:00
Michael Klishin 9c2eeee595
Wording 2021-07-27 21:44:33 +03:00
Michael Klishin 2d3f31eb21
Merge pull request #3204 from rabbitmq/keep-state-and-data
Use keep_state_and_data
2021-07-27 21:39:06 +03:00
Gerhard Lazu 1b5c7e328e
Merge pull request #3230 from rabbitmq/fix-notify-limiter
Fix channel rate limiter for ack messages
2021-07-27 16:49:22 +01:00
Philip Kuryloski 68361d5d79 Extend the bazel timeout for unit_disk_monitor_mocks_SUITE 2021-07-27 16:02:10 +02:00
Philip Kuryloski 6967019495 Bazel test timeouts 2021-07-27 13:32:06 +02:00
Philip Kuryloski 2a6a9c786b Bazel test timeouts 2021-07-27 10:57:50 +02:00
Philip Kuryloski ee23cf1872 Bump test timeouts in bazel 2021-07-27 09:54:44 +02:00
Michael Klishin 5bfbe5b8b1
Merge pull request #3233 from britto/fix-ensure-safe-call-timeout-clause
Fix typo in ensure_safe_call_timeout/2
2021-07-26 23:48:39 +03:00
João Britto a27a9fd214 Adjust initial gen_server_call_timeout
to prevent `amqp_connection:start/2` from logging a warning when we use default
values.

The default for `connection_timeout` is already 60000. When we don't explicitly
set it to a lower value, `amqp_connection:maybe_update_call_timeout/2` adjusts
it to 70000 and logs a warning message, which may appear unexpected, especially
for users upgrading to 3.8.10+ with no config changes.

This change addresses that problem by pre-adjusting it to 70000, making it safe
by default and ensuring our default values don't conflict with each other.
2021-07-26 16:59:32 -03:00
João Britto 25b6ce1d9f Fix typo in ensure_safe_call_timeout
Matching on `ignored` instead of `ignore`, as described in the documentation of
net_kernel:get_net_ticktime/0.

https://erlang.org/doc/man/net_kernel.html#get_net_ticktime-0
2021-07-26 16:54:36 -03:00
Arnaud Cogoluègnes 4486584166
Fix channel rate limiter for ack messages 2021-07-26 13:57:44 +02:00
David Ansari 38a6ce9601 Fix link of stream docs 2021-07-26 12:03:06 +02:00
Philip Kuryloski abc8703fd8 Bump test timeouts in bazel 2021-07-26 11:09:09 +02:00
Philip Kuryloski 563a8f876a
Update bazel timeout for rabbitmq_amqp1_0 dialyze 2021-07-26 11:06:07 +02:00
Michael Klishin ca4866b964
Introduce rabbit_policy:list_op/2
and export rabbit_policy:sort_by_priority/1
2021-07-26 11:25:35 +03:00
Michael Klishin 23432f3130
Merge pull request #3229 from rabbitmq/stream-status-tracking
Fix function_clause error in tracking_status/2
2021-07-23 21:08:57 +03:00
David Ansari 6d968718c8 Fix function_clause error in tracking_status/2
Before this commit:

> ./sbin/rabbitmq-streams stream_status --tracking s1
Status of stream s1 on node rabbit@localhost ...
Error:
{:function_clause,
[{:rabbit_stream_queue, :"-tracking_status/2-fun-0-",
[:offsets, %{"s1-1" => 5}, []],
[file: 'src/rabbit_stream_queue.erl', line: 608]},
{:maps, :fold_1, 3, [file: 'maps.erl', line: 410]},
{:rabbit_stream_queue, :tracking_status, 2, []}]}

After this commit:

> ./sbin/rabbitmq-streams stream_status --tracking s1
Status of stream s1 on node rabbit@localhost ...
┌────────┬───────────┬───────┐
│ type   │ reference │ value │
├────────┼───────────┼───────┤
│ offset │ s1-1      │ 51    │
└────────┴───────────┴───────┘
2021-07-23 19:34:31 +02:00
Philip Kuryloski a9688624a8 Bump bazel test timeouts for some suites 2021-07-23 13:59:17 +02:00
Philip Kuryloski 97946f3666 bump a test timeout in bazel 2021-07-23 13:38:53 +02:00
Philip Kuryloski 7d3d601d88 Bump test timeouts
A recent release of buildbuddy eliminated a timeout extension that
they had applied in the past. Now that they honor timeouts exactly,
we have had to adjust the timeout for many tests.
2021-07-23 13:36:09 +02:00
Philip Kuryloski 6628df33ef Increase some bazel test timeouts 2021-07-23 12:57:16 +02:00
Jean-Sébastien Pédron ac7df333b6
Revert "rabbitmq-dist.mk: Install CLI scripts as part of the build"
This has the unfortunate side effect of causing a rebuild of all
applications every time. I need to figure out another place to build and
install the CLI during build time (instead of as part of the dist
target).

This reverts commit 4322cca66e.
2021-07-23 10:46:56 +02:00
Philip Kuryloski 04e6121b08 Increase the test timeout in bazel for unit_file_handle_cache_SUITE 2021-07-23 10:44:51 +02:00
Philip Kuryloski ae955d44c6 Avoid building the cli scripts in rabbitmq_stream_common
This isn't an issue in the monorepo, but causes problems externally
projects using rabbitmq-components.mk
2021-07-23 10:40:20 +02:00
Philip Kuryloski f95fc8aa0c Increase some suite timeouts in bazel 2021-07-23 09:43:05 +02:00
David Ansari e3ed9c21b0 Fix list_stream_publishers additional usage output 2021-07-22 18:13:07 +02:00
Philip Kuryloski 0443c4ab8a Increase the timeout for the queue_master_location_SUITE in bazel 2021-07-22 16:07:06 +02:00
Jean-Sébastien Pédron 9258ff1197
Merge pull request #3214 from rabbitmq/fix-bugs-reported-by-release-handler
Fix bugs reported by release handler
2021-07-22 11:20:10 +02:00
Philip Kuryloski b26289cb47 Adjust rabbitmq_prometheus test suite timeouts in bazel 2021-07-22 11:00:14 +02:00
Jean-Sébastien Pédron 8cbdbb87a5
rabbit_web_dispatch_sup: Fix modules list in supervisor spec
This fixes a bug causing a crash of the release handler.
2021-07-22 10:21:37 +02:00
Jean-Sébastien Pédron 23a04c2692
rabbit_mgmt_agent_sup_sup: Fix worker type for the pg group
It must be a worker (the default type), not a supervisor. This fixes a
bug causing a crash of the release handler.
2021-07-22 10:21:37 +02:00
Jean-Sébastien Pédron 80b428d5d3
rabbit_runtime: Find erl(1) in the ERTS bin directory
erl(1) might not be in the directory pointed by init's root argument.
This is the case with Erlang releases built with relx for instance.
2021-07-22 10:21:37 +02:00
Jean-Sébastien Pédron 4322cca66e
rabbitmq-dist.mk: Install CLI scripts as part of the build
... instead of the `dist` target. This way, the Erlang release can use
them.
2021-07-22 10:21:33 +02:00
Michael Klishin 2d8aad78bf
Merge pull request #3216 from rabbitmq/mk-quorum-queue-oldest-known-message-command
New aux quorum queue command: oldest_entry_timestamp
2021-07-21 19:04:58 +03:00
Michael Klishin a0ad332727
New aux quorum queue command: oldest_entry_timestamp
Per discussion with @kjnilsson
2021-07-21 18:28:39 +03:00
Gerhard Lazu 66ef8adfc8
Fix accept dependency in rabbitmq_prometheus
It's a runtime dependency, not a build dependency.

This is a fix and should be backported to v3.9.x, after rc.2 and just
before the final release. Would you disagree @dumbbell?

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-07-21 13:38:54 +01:00
Iliia Khaprov 53d67fda1f
Merge pull request #3205 from rabbitmq/send-www-authenticate-when-basic-auth-present
Send www-authenticate header when basic auth present but it's wrong
2021-07-21 11:19:22 +02:00
Karl Nilsson f38c023aa8
Correct Publish frame docs 2021-07-21 09:13:55 +01:00
Philip Kuryloski 6fec1faea5 Additional rpc -> erpc updates 2021-07-21 09:21:41 +02:00
Philip Kuryloski 5bc25fb2ff Fix accidental test case skip when not using mixed versions 2021-07-21 08:35:00 +02:00
Michael Klishin 0d06f34c66
rabbit_stream_reader: convert most log messages to debug ones 2021-07-21 01:38:13 +03:00
Johan Rhodin 6d0a432888
Fix link for stream.html 2021-07-20 16:35:24 -05:00
Ilya Khaprov 39693cfb07
Send www-authenticate header when basic auth present but it's wrong
close #3181
2021-07-20 21:44:36 +02:00
Gabriele Santomaggio 71c355c963
Fix links 2021-07-20 17:42:56 +02:00