Commit Graph

24667 Commits

Author SHA1 Message Date
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