summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* This test requires code_server_cache to be startedMichael Klishin2018-07-141-0/+2
| | | | References rabbitmq/rabbitmq-server#1640.
* Merge pull request #1640 from rabbitmq/lrb-vesc-888Michael Klishin2018-07-123-15/+99
|\ | | | | Add code_server cache to prevent code:get_object_code abuse
| * Add code_server cache to prevent code:get_object_code abuseLuke Bakken2018-07-113-15/+99
|/ | | | | | 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
* Log which module in the chain successfully authenticated the userMichael Klishin2018-07-081-1/+3
| | | | | | | | At debug level; there already are info messages about accepted and successfully authenticated and authorized connections. [#158782152] [#158782156]
* Merge pull request #1634 from rabbitmq/rabbitmq-server-1633Arnaud Cogoluègnes2018-07-042-5/+5
|\ | | | | Pass authentication context to Mod:user_login_authorization/2
| * Pass authentication context to Mod:user_login_authorization/2Michael Klishin2018-07-032-5/+5
|/ | | | | | Part of rabbitmq/rabbitmq-server#1633. [#158805410]
* Merge pull request #1626 from Duske/patch-1Michael Klishin2018-06-201-1/+1
|\ | | | | (doc) fix typo in mqtt vhost section
| * (doc) fix typo in mqtt vhost sectionDustin2018-06-201-1/+1
|/
* Merge pull request #1615 from rabbitmq/erlang-otp-21-compatibilityJean-Sébastien Pédron2018-06-076-1/+21
|\ | | | | Compile on Erlang/OTP 21
| * Be more defensive about what output rabbitmqctl eval produces hereMichael Klishin2018-06-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
| * Compile Erlang/OTP 21Michael Klishin2018-06-075-0/+20
|/ | | | | | | | | | | 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]
* Update rabbitmq-components.mkJean-Sébastien Pédron2018-06-071-1/+1
|
* Use rabbit_data_coercion:to_list/1 to coerce discovered node name to a stringMichael Klishin2018-06-061-1/+4
| | | | | | | | Previous implementation breaks on OTP 21. [#157964874] (cherry picked from commit da011eb94ed79463daf912756dd866f2d777c0c3)
* Don't await for error_logger handlers to initialiseMichael Klishin2018-06-061-9/+0
| | | | | | | | | | | | | | | | | | 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)
* Minor README updatesMichael Klishin2018-06-051-4/+5
|
* Merge pull request #1617 from notque/patch-1Michael Klishin2018-06-021-1/+1
|\ | | | | fix default heartbeat in example conf file to 60
| * fix default heartbeat in example conf file to 60Nathan Oyler2018-06-011-1/+1
|/ | | listed as 600, not the true default of 60
* Merge pull request #1604 from essen/better-default-allocsMichael Klishin2018-05-313-0/+64
|\ | | | | Use more optimal default memory allocators where available (Erlang 20.2.3 or later)
| * Use better default memory allocatorsLoïc Hoguin2018-05-293-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/OTP 19.3 compatibilityMichael Klishin2018-05-301-1/+1
| | | | | | | | | | | | `erlang:floor/1` is not available in 19.3. [#156729133]
* | Merge pull request #1611 from rabbitmq/rabbitmq-cli-235Michael Klishin2018-05-302-3/+68
|\ \ | | | | | | Introduce rabbit_nodes:await_running_count/2
| * | An integration test for rabbit_nodes:await_running_count/2Michael Klishin2018-05-301-2/+44
| | | | | | | | | | | | [#156729133]
| * | rabbit_nodes:await_running_count_with_retries/2: correct type spec and base ↵Michael Klishin2018-05-291-3/+3
| | | | | | | | | | | | | | | | | | clause return value [#156729133]
| * | Introduce rabbit_nodes:await_running_count/2Michael Klishin2018-05-281-1/+24
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1601 from ↵Michael Klishin2018-05-281-12/+55
|\ \ \ | |/ / |/| | | | | | | | rabbitmq/rabbitmq-server-1596-connection-name-to-connection-closed-event Add client properties to connection.closed events
| * | Add connection name to connection created/closed events if necessaryArnaud Cogoluègnes2018-05-281-21/+32
| | | | | | | | | | | | | | | | | | Fixes #1596 [#157500358]
| * | Add connection_user_provided_name to connection created/closed eventsArnaud Cogoluègnes2018-05-211-8/+30
| | | | | | | | | | | | | | | | | | Fixes #1596 [#157500358]
| * | Add client properties to connection.closed eventsArnaud Cogoluègnes2018-05-181-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
* | | Restore Erlang/OTP 19.3 compatibilityMichael Klishin2018-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | erlang:ceil/1 is not available in 19.3. Part of rabbitmq/rabbitmq-management#575. [#157817330]
* | | Merge pull request #1608 from rabbitmq/rabbitmq-management-575Michael Klishin2018-05-251-15/+42
|\ \ \ | | | | | | | | Introduce rabbit_vhost:await_running_on_all_nodes/2
| * | | Introduce rabbit_vhost:await_running_on_all_nodes/2Michael Klishin2018-05-241-15/+42
| | | | | | | | | | | | | | | | | | | | | | | | Part of rabbitmq/rabbitmq-management#575. [#157817330]
* | | | Clarify what MPL version is used, references #1609Michael Klishin2018-05-252-4/+4
|/ / /
* | | Merge pull request #1600 from rabbitmq/syslogMichael Klishin2018-05-225-22/+252
|\ \ \ | |_|/ |/| | Syslog integration
| * | Syslog formatter is different from e.g. the file one now, update the testsMichael Klishin2018-05-221-1/+4
| | |
| * | Make syslog a proper dependency of rabbit application, just like lager.Daniil Fedotov2018-05-211-2/+2
| | |
| * | Remove date and time from lager formatter when logging to syslog.Daniil Fedotov2018-05-211-1/+6
| | |
| * | Pin syslog library version to 3.4.2Daniil Fedotov2018-05-211-1/+1
| | |
| * | Fix syslog config translation tests.Daniil Fedotov2018-05-181-10/+7
| | | | | | | | | | | | | | | | | | Syslog backend is no longer configured via lager handler, facility and identity options are in the syslog application config now.
| * | Do not parse syslog IP in schema transformer. String IPs are supported anyway.Daniil Fedotov2018-05-172-8/+1
| | |
| * | Cuttlefish schema to configure syslog application.Daniil Fedotov2018-05-173-14/+215
| | | | | | | | | | | | | | | Configure the syslog application directly instead of relying on rabbit_lager module.
| * | Integrate syslog library into rabbitmq loggingDaniil Fedotov2018-05-162-8/+39
| | |
* | | Bring back transactional match_object for bindings cleanup.Daniil Fedotov2018-05-181-10/+10
| |/ |/| | | | | | | | | | | | | | | | | | | | | 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]
* | Typo/weird wordingMichael Klishin2018-05-161-1/+1
| | | | | | | | (cherry picked from commit ad5abba68c3c335a856ade2a2a38ba2c1de871fa)
* | Remove two files that were not meant to be committed in ee9a02429Michael Klishin2018-05-162-149/+0
|/ | | | | | They are no longer used in 3.7.x. (cherry picked from commit 20de46c1df013874147835ac8bdc1e707ac95030)
* Merge pull request #1589 from rabbitmq/exclusive-queues-cleanup-optimisationMichael Klishin2018-05-153-41/+45
|\ | | | | Do not set table-wide and partial locks when deleting bindings.
| * Ignore lock kind argument when dirty-deleting a routeDaniil Fedotov2018-05-151-1/+1
| |
| * Do dirty deletes when cleaning up bindings.Daniil Fedotov2018-05-141-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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]
| * Do not lock entire routing table when cleaning up bindings.Daniil Fedotov2018-05-143-36/+40
| | | | | | | | | | | | | | | | | | | | | | | | 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]
* | Merge pull request #1597 from rabbitmq/rabbitmq-server-1590Arnaud Cogoluègnes2018-05-156-9/+192
|\ \ | | | | | | Hard cap for maximum priorities
| * | Use MAX_SUPPORTED_PRIORITY constant for argument validationArnaud Cogoluègnes2018-05-153-3/+152
| | | | | | | | | | | | Part of #1590.