| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Strict validation breaks plugins that might use any random queue argument
|
| | |
|
| |\
| |
| | |
Stop local quorum queue followers after transferring leadership
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
|
|
| |
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.
|
| | |
|
| |\
| |
| | |
Stream initial cluster size
|
| | | |
|
| | |
| |
| |
| | |
x-queue-master-locator was missing from classic queue args.
|
| |\ \
| |/
| | |
Prevent quorum and stream queues from being server-named
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
Queue implementations can delegate the responsibility of validating
policies, arguments and other capabilities to `rabbit_queue_type`,
they only need to declare a 'capabilities' map that provides the
list of supported capabilities.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The testcase is time-sensitive: it may be possible that the expired
messages are not all dropped at the time we consume the queue to
acknowledge they are gone.
We give them 5 more seconds: it should be enough for the last expired
messages to be removed, without affecting newer messages (which we
expect to be there).
|
| |\ \
| | |
| | | |
Add auth attemp metrics
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
Remove deprecated kernel poll option (+K) from node start script
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
June-2018. Kernel-space poll has, since then, been set as the new
default I/O polling mechanism at compile time. This removes the
deprecated kernel poll option from `rabbimq-server` start script.
Ref: http://blog.erlang.org/IO-Polling/
|
| |\ \ \
| |/ /
|/| | |
Attempt at improving the channel count consistency (+ improvements to testcases)
|
| | | |
| | |
| | |
| | |
| | | |
... instead of 5 seconds. Hopefully, this should reduce the chance of
failures in CI.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
connection is closed
Tracking is already taken care of when each channel is closed.
Removing this concurrent call to `unregister_tracked()` fixes a
double-decrease of the counter. The reason is the counter is updated
outside of a transaction and is therefore sensitive to concurrent
read/modify/write sequences.
A transaction would be a more appropriate solution, but it may be too
resources-intensive in the scenario of high connection/channel churn.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... instead of checking it just after the channel/connection was closed.
The problem with closing those resources is that the metric may be
updated after the close function returns. There the check is
time-sensitive. Waiting for the expected counter value fixes the
problem.
|
| |/ / |
|
| | | |
|
| |/ |
|
| |\
| |
| | |
Several new functions for rabbit_alarms
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Part of rabbitmq/rabbitmq-management#844
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This handles the case where the channel receives a message from a queue
that has recently been deleted. This crash would only occur when running
in a mixed versions cluster.
|
| | |
| |
| |
| | |
To wait for both new and old confirm message formats.
|
| | |
| |
| |
| | |
out of rabbit_common as it is only used by modules in the server.
|
| | |
| |
| |
| |
| |
| | |
As some classic queue messages changed during the queue type refactoring
we need to check the stream_queue feature flag to ensure we return the
appropriate format to the interacting channel.
|
| | | |
|
| |/
|
|
| |
When a down mirror would not clear credit flow.
|
| |
|
|
|
|
|
|
| |
When erl_epmd:port_please/3 is called with a string(), dialyzer reports an error
that atom() is the only allowed type.
https://github.com/erlang/otp/blob/e8a9158ed2e686b1fa375cd0978e50d6bd70d088/lib/kernel/src/erl_epmd.erl#L136
Is suspected as the underlying issue, as the while the argument is ignored, the
spec is not in alignment with the remainder of the module.
|
| | |
|
| | |
|
| |\
| |
| | |
Restore rabbit_amqqueue:deliver/2
|
| | |
| |
| |
| | |
For rabbit_exchange_type_recent_history and any other plugins that use it
|
| | |
| |
| |
| | |
For classic queues mostly.
|
| | |
| |
| |
| |
| |
| | |
The `quorum_queue` feature flag introduces the new v2 #amqqueue{} record
which allows to specify a queue type. The stream queue implementation
relies on this new record.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
amqqueue_v1:new/9 only accepts the classic queue type. Therefore, by
passing the type, we ensure that the request to create a v1 record with
a non-classic queue type will crash.
Before this change, amqqueue:new/9 with a non-classic queue type would
return "successfully" a classic queue record, effectively ignoring the
queue type argument.
This should help to detect missing dependency between feature flags. For
instance, the `stream_queue` feature flag would depend on the
`quorum_queue` feature flag because the latter introduced the v2 record
(the one with the `type` record member).
Without this change, it means that a user could request a new stream
queue (after enabling the `stream_queue` feature flag), but a classic
queue would be created instead. There would be no error.
Now, with this change, the request will crash. The same user can report
the bug: he enabled the `stream_queue` feature flag but the declare
crashes.
|
| |/
|
|
|
|
|
|
|
|
| |
feature flag" error message
Initially, there was only the `quorum_queue` feature flag which made a
new queue type available. Now we also have stream queues and they have
their own feature flag.
Therefore, rephrase the error message to not be quorum-queue-specific.
|
| |
|
|
| |
As it does not support most of the features.
|
| | |
|