| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
References rabbitmq/rabbitmq-server#1640.
|
| |\
| |
| | |
Add code_server cache to prevent code:get_object_code abuse
|
| |/
|
|
|
|
| |
In the case of high connection churn, code:get_object_code is called multiple times to find the Module:additional_authn_params method for the direct connection type. In the case of a missing module, the code_server process can be overrun with messages while checking the code path. This change caches the result so that future calls to a missing or bad module are not as time consuming
Fixes VESC-888
|
| |
|
|
|
|
|
|
| |
At debug level; there already are info messages about accepted and successfully
authenticated and authorized connections.
[#158782152]
[#158782156]
|
| |\
| |
| | |
Pass authentication context to Mod:user_login_authorization/2
|
| |/
|
|
|
|
| |
Part of rabbitmq/rabbitmq-server#1633.
[#158805410]
|
| |\
| |
| | |
(doc) fix typo in mqtt vhost section
|
| |/ |
|
| |\
| |
| | |
Compile on Erlang/OTP 21
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
OTP 21 has a new logging subsystem and extra logging added to the kernel app
to accompany the asynchronous automatic node connection feature. This breaks
this eval command that asks the node for some of its effective paths (e.g.
the plugin dir).
Since we know the set of lines we are interested in, we can filter out
everything else.
Pair: @dumbbell.
Part of #1616.
[#157964874]
|
| |/
|
|
|
|
|
|
|
|
|
| |
OTP 21 deprecated erlang:get_stacktrace/0 in favor of a new
try/catch syntax. Unfortunately that's not realistic for projects
that support multiple Erlang versions (like us) until OTP 21 can be
the minimum version requirement. In order to compile we have to ignore
the warning. The broad compiler option seems to be the most common
way to support compilation on multiple OTP versions with warnings_as_errors.
[#157964874]
|
| | |
|
| |
|
|
|
|
|
|
| |
Previous implementation breaks on OTP 21.
[#157964874]
(cherry picked from commit da011eb94ed79463daf912756dd866f2d777c0c3)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It will never be started on OTP 21.
The problem this piece of code originally was added to solve
is not very relevant now that we use Lager. Arguably connection
rate throttling should be enforced elsewhere, be it Ranch or a proxy/load balancer.
In any case, this particular implementation worked around an error_logger
issue that is no longer problematic for us, and eventually won't be problematic
for the entire ecosystem because OTP 21 introduced a completely new logger.
Cherry-picked per discussion with @dumbbell and @lukebakken.
[#157964874]
(cherry picked from commit a54b44fd8d24af90d8df301658fba4775f957bc8)
|
| | |
|
| |\
| |
| | |
fix default heartbeat in example conf file to 60
|
| |/
|
| |
listed as 600, not the true default of 60
|
| |\
| |
| | |
Use more optimal default memory allocators where available (Erlang 20.2.3 or later)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have settled on the following configuration for memory
allocators after testing many different combinations:
+MBas ageffcbf +MHas ageffcbf +MBlmbcs 512 +MHlmbcs 512 +MMmcs 30
They reduce the memory usage and help RabbitMQ reclaim memory,
at the cost of a slight decrease in performance due to an
increased number of memory operations.
We need to start Erlang with these values in order to figure
out whether they are supported. The allocator strategies we
recommend were introduced in Erlang/OTP 20.2.3. The values
can be overriden using RABBITMQ_SERVER_ERL_ARGS.
cc @gerhard
|
| | |
| |
| |
| |
| |
| | |
`erlang:floor/1` is not available in 19.3.
[#156729133]
|
| |\ \
| | |
| | | |
Introduce rabbit_nodes:await_running_count/2
|
| | | |
| | |
| | |
| | | |
[#156729133]
|
| | | |
| | |
| | |
| | |
| | |
| | | |
clause return value
[#156729133]
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
It will wait until the cluster has N members, up to so many seconds.
The function will return immediately for the value of 1.
Part of rabbitmq/rabbitmq-cli#235.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
rabbitmq/rabbitmq-server-1596-connection-name-to-connection-closed-event
Add client properties to connection.closed events
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Fixes #1596
[#157500358]
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Fixes #1596
[#157500358]
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit adds client properties to connection.closed events. The
original need was to have only the optional user-provided connection
name added to correlate connections between created and closed events,
but all the client properties are finally added for the sake of
consistency between the 2 events.
This commit uses the process dictionary to convey the client properties,
as they're not yet available in the connection state when the call to
send the closed event is made (in the after block, just after the
network connection has been established).
Fixes #1596
[#157500358]
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
erlang:ceil/1 is not available in 19.3.
Part of rabbitmq/rabbitmq-management#575.
[#157817330]
|
| |\ \ \
| | | |
| | | | |
Introduce rabbit_vhost:await_running_on_all_nodes/2
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Part of rabbitmq/rabbitmq-management#575.
[#157817330]
|
| |/ / / |
|
| |\ \ \
| |_|/
|/| | |
Syslog integration
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Syslog backend is no longer configured via lager handler,
facility and identity options are in the syslog application
config now.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Configure the syslog application directly instead of relying on
rabbit_lager module.
|
| | | | |
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Follow up to 5cdee1530d5002b316b80f488a5d87417e1d0db0
dirty_match_object does not provide much performance improvement
while it's breaking auto-delete exchanges cleanup.
A transaction with a binding deletion will call auto-delete
exchange removal, which will call a cleanup. On this cleanup
the deleted binding should not be dirty-deleted again.
Follow-up to #1589
[#156352963]
|
| | |
| |
| |
| | |
(cherry picked from commit ad5abba68c3c335a856ade2a2a38ba2c1de871fa)
|
| |/
|
|
|
|
| |
They are no longer used in 3.7.x.
(cherry picked from commit 20de46c1df013874147835ac8bdc1e707ac95030)
|
| |\
| |
| | |
Do not set table-wide and partial locks when deleting bindings.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Dirty deletes are faster and idempotent, which means
that it can be run in transaction as long as it's locked
in the begining of transaction, which is done in
`lock_resource`.
Speed improvement is aquired by not setting record locks
for each record, since we already have a record lock
Addresses #1566
[#156352963]
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of locking entire table we can use a custom global lock on
the affected resource (source or destination).
This can improve performance when multiple records deleted at the
same time, for example when connection with exclusive queues closes.
Resource lock also aquired when adding or removing a binding, so it
won't conflict with bulk removal.
Addresses #1566
[#156352963]
|
| |\ \
| | |
| | | |
Hard cap for maximum priorities
|
| | | |
| | |
| | |
| | | |
Part of #1590.
|