| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|
| |\
| |
| | |
Improve handling of product name & version
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the product name & version are not overridden, the common logged
message is the following one:
2020-04-24 15:08:51.754 [info] <0.263.0>
Starting RabbitMQ 3.8.0+rc.1.278.g5cdf562.dirty on Erlang 21.3.8.13
Copyright (c) 2007-2020 VMware, Inc. or its affiliates.
Licensed under the MPL 1.1. Website: https://rabbitmq.com
Now, when the product name or version are overridden, the "Starting"
line mentions them. There is a second line added with the base product
name & version:
2020-04-24 15:08:51.754 [info] <0.263.0>
Starting RabbitMQ Enterprise Edition 2020.04 on Erlang 21.3.8.13
Based on RabbitMQ 3.8.0+rc.1.278.g5cdf562.dirty
Copyright (c) 2007-2020 VMware, Inc. or its affiliates.
Licensed under the MPL 1.1. Website: https://rabbitmq.com
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now, `rabbit:product_info/0` will report the base name & version
("RabbitMQ" and its actual version) separately from the final product
name & version (if any).
If the product name & version were not overridden in the configuration or
the environment, they will be missing from the product info return
value.
It allows caller to distinguish situations where the product name &
version were set or not.
An example use case is `rabbitmqctl status`: we want to report the
product name & version only if they were overridden. If they were not,
the "Product name" and "Product version" won't be added to the output.
Only "RabbitMQ version" will be displayed.
To help with the above, the map returned by `rabbit:product_info/0` also
contains a flag, `product_overridden`, set to true if they were.
Finally, the RabbitMQ version is often associated with the Erlang/OTP
release. So include this into the returned map. This will save an
additional RPC call if the remote caller is interested in both.
|
| |
|
|
|
|
|
| |
rabbitmq/revert-rabbitmq-server-2308-dead_queue_rejects"
This reverts commit 55d28f5ad3ad3a47791989bd118c6d8ce954eeca, reversing
changes made to 0bf8d0841c2467b93ab849f4f53a7bc99ab854e7.
|
| | |
|
| |\
| |
| | |
Handle "closed" return value
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Turns out `port_please/2` and `port_please/3` can return `closed` - https://github.com/erlang/otp/pull/2616
We need to handle it here.
First reported via RabbitMQ public slack channel - https://rabbitmq.slack.com/archives/C1EDN83PA/p1588166195464400
|
| |/
|
|
| |
This suite has been flaky, but it only fails with a timeout trap on the whole test. By setting a timeout for invidual rabbitmqctl commands, it should be easier to discern in a flake where things got stalled.
|
| |
|
|
|
|
| |
So that more information is available in the logs upon test failure
https://3.basecamp.com/4467044/buckets/16481075/todos/2619089282
|
| |\
| |
| | |
Remove an outdated comment
|
| | | |
|
| | | |
|
| |\ \
| |/
|/| |
QQ: Fix crash bug when reaching delivery limit
|
| | |
| |
| |
| |
| |
| | |
This only happens when using basic.get but would crash the quorum queue
when the delivery limit was reached due to the transient basic.get
consumer being removed
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
rabbitmq/revert-rabbitmq-server-2308-dead_queue_rejects
Revert "Remove dead_queue_rejects test flake"
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 9772aa8f8256a410bcc13ae5038f949ffe1d5b84.
Check RPC return value
Try a cast to fix test
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
@dumbbell copy paste:
When we re-run a workflow, the `ebin` cache, created by the initial run,
is restored in `checks`. This causes rabbitmq_prelaunch to be cleaned
when we run `make xref` and thus the make target fails.
This is probably a bug in Erlang.mk or one of our plugins,but in the
meantime, I suggest we don't cache this directory.
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove the Travis CI build badge - it links to a build which is less
comprehensive than the new GitHub Actions builds. We are likely to
remove Travis completely, but would like to do that after we discuss it.
cc @dumbbell
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Triggering another build and busting the deps & ebin app modules cache,
because it makes no sense for xref to pass in OTP v22.3 but fail in OTP
v21.3 - it's the same src!
https://github.com/rabbitmq/rabbitmq-server/actions/runs/86189793
cc @dumbbell
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
rabbitmq/always-handle-config-files-with-cuttlefish
Always handle config files with Cuttlefish
|
| | | |
| | |
| | |
| | |
| | |
| | | |
It is unused in RabbitMQ or tier-1 plugins, and the previously returned
value made no sense since the switch to Cuttlefish as a library (as part
of #2180).
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This has several benefits:
1. It simplifies the code, all configuration being handled by the same
code path (no more condition on Erlang-term-based vs. Cuttlefish).
`rabbit_config` shrinks quite a lot in the process.
2. We can use additional configuration files AND an Erlang-term-based
configuration file. In other words, it is possible to use the same
existing Erlang-term-based file and introduce Cuttlefish files when
needed.
It allows a user to run RabbitMQ with:
RABBITMQ_CONFIG_FILE=/path/to/rabbitmq.config \
RABBITMQ_CONFIG_FILES=/path/to/conf.d/*.conf \
./sbin/rabbitmq-server
A developer can do the same with `make run-broker`:
make run-broker \
RABBITMQ_CONFIG_FILES=/path/to/conf.d/*.conf
In the example above, the main configuration file generated by
rabbitmq-run.mk is an Erlang-term-based one.
This is implemented by calling Cuttlefish with a (possibly empty) list
of additional files and the Erlang-term-based file as the advanced
configuration file.
References #2180.
|
| |\ \
| | |
| | | |
Run both authn and authz steps when rabbit_auth_backend_cache module …
|
| | | |
| | |
| | |
| | | |
Fixes #2322
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|
| |\ \ \
| |_|/
|/| | |
Run checks & tests in GitHub Actions on every push
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Separate workflows for min & max supported OTP version
- Multiple groups for clustering_management (run in parallel & finish quicker)
- Store CT logs as artefacts on failure
- Tests badge in README
- Store in S3 the version of the RabbitMQ components used while testing
We have decided to not not run tests for RabbitMQ components that we
depend on: rabbitmq-cli, rabbitmq-erlang-client & rabbitmq-common.
rabbitmq-cli & rabbitmq-erlang-client depend on rabbitmq-server
(recursive dependency) meaning that they will clone rabbitmq-server
again, inside the deps dir. We will continue to run these in Concourse,
until we merge all repositories into a single one. Let's be honest, it's
a monolith!
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|
| |\ \
| |/
|/| |
Introduce rabbit_upgrade_preparation
|
| | |
| |
| |
| | |
Part of rabbitmq/rabbitmq-cli#408.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rather than wait a fixed 2000ms, poll the test condition for up to
5000ms.
Also switch from a raw message send in rabbit.erl to a gen_event:call/4
to the lager backend. I had hoped this would behave synchronously, which
it does not appear to, but at least we now get a value back from the
call.
|
| |\ \
| | |
| | | |
Use new `inet_tcp_proxy_dist`
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`mark_as_enabled_remotely()`
The rounded value of `(timer:now_diff(T1, T0) div 1000)` was often 0,
leading to no decrease in timeout, i.e. the equivalent of an infinite
loop. Now, the division happens after the substraction.
Also, to avoid to much hammering, we sleep for one second between
retries.
|
| |/ /
| |
| |
| | |
See rabbitmq/inet_tcp_proxy#3 and rabbitmq/rabbitmq-ct-helpers#39.
|
| |/ |
|
| |\
| |
| | |
Fix schema sync for parameters
|
| |/
|
|
|
|
| |
Fixes the issue described here:
https://github.com/rabbitmq/rabbitmq-schema-definition-sync/issues/2#issuecomment-613075591
|
| |
|
|
|
|
|
|
|
|
|
| |
When asserting that connections to a down virtual host cannot be open
we compete against a desired behavior: quick recovery of the virtual host
process tree.
Unlike with the "X eventually happens or we fail with a timeout" kind of scenarios,
here the test must catch a very specific time window. Instead of exposing
virtual host internals to the test so that it's more observable from
the outside we concluded that these tests are not critically important to have.
|
| | |
|
| |
|
|
|
| |
and is quite coarse grained, meaning it is hard to keep track of
node state for its duration.
|
| |\
| |
| | |
Remove flaky tests
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After looking at the last 20 builds in the server-release:v3.9.x
pipeline, 2 builds succeeded on the first run. Even though we retry
each build 3 times, out of the last 50 builds, 28 passed & 22 failed.
We (+@dumbbell) removed the tests which fail more often than they pass.
If anyone wants to add them back, please rewrite them as in the current
form they simply don't work. Alternatively, they are hinting to a
failure in the system which needs addressing. Both are out of the
current scope.
cc @michaelklishin
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conclusion of the following conversation:
- Gerhard Lazu: what should we do about these recurring test failures?
https://github.com/rabbitmq/rabbitmq-server/runs/548636403?check_suite_focus=true#step:6:185
== publisher_confirms_parallel_SUITE ==
publisher_confirms_parallel_SUITE > publisher_confirm_tests > mirrored_queue > publisher_confirms
#1. {error,{noproc,{gen_server,call,
[<0.393.0>,
{wait_for_confirms,5000},
infinity]}}}
publisher_confirms_parallel_SUITE > publisher_confirm_tests > mirrored_queue > confirm_nack
#1. {error,
{{badmatch,received_ack_instead_of_nack},
[{publisher_confirms_parallel_SUITE,confirm_nack,1,
[{file,"test/publisher_confirms_parallel_SUITE.erl"},
{line,247}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1562}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1080}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1012}]}]}}
- Karl Nilsson: I always suspected that test to be racy
- Gerhard Lazu: In which case, I would like to delete it. Does someone want to fix it instead?
- Karl Nilsson: How do we know the queue exits after the channel processing the publish but before the queue mirrors sending all acks the and ch returning with ack
- Michael Klishin: If there is no way to make it not racy or something like Jepsen would make more sense to test this kind of thing, we can simply delete the test
- Karl Nilsson: Great point Michael, the Jensen suite should provide some coverage of this.
- Karl Nilsson: I think we are safe to remove these tests, at least the ones using mirroring
- Michael Klishin: Please go ahead and remove them
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://github.com/rabbitmq/rabbitmq-server/runs/522909848?check_suite_focus=true#step:4:512
simple_ha_SUITE > cluster_size_3 > overflow_reject_publish > rejects_survive_stop
#1. {error,{error,received_both_acks_and_nacks}}
- It's not helping anyone in the current state
- I don't have enough context to be able to fix it
- I need to stay focused on the current task, cannot afford to context switch
- Feel free to fix it if it's important, otherwise leave it deleted
cc @michaelklishin @dumbbell
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
|