summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * | Follow-up to 08168de6b0c3c4d7f6429f2c3d098e5080ff7b1aMichael Klishin2018-05-141-7/+0
| | | | | | | | | | | | | | | | | | References #1590. [#157380396]
| * | Revert "Take policy-configured max-priority into account"Michael Klishin2018-05-142-20/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f5aa1fbe043395806d9b9ed8780892924431466c. This feature wasn't available in the original implementation for a reason: policies are dynamic and can change after a queue's been declared. However, queue priorities are (at least currently) set in stone from the moment of queue creation. This was mentioned in the docs but not explicitly enough and got overlooked. Credit for the [re-]discovery goes to @acogoluegnes :) References #1590. [#157380396]
| * | Use the constant across the boardMichael Klishin2018-05-141-2/+2
| | | | | | | | | | | | Part of #1590.
| * | Take policy-configured max-priority into accountMichael Klishin2018-05-132-2/+20
| | | | | | | | | | | | Part of #1590.
| * | Reject max-priority arguments >= 256Michael Klishin2018-05-113-8/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the value we advertise in the docs and it should be enforced to avoid process explosion e.g. when an overflow value is provided. Part of #1590. [#157380396]
| * | Make policy validation aware of the max-priority argumentMichael Klishin2018-05-101-1/+7
|/ / | | | | | | | | | | References #1590. [#157380396]
* | Merge pull request #1594 from rabbitmq/rabbitmq-server-1593Michael Klishin2018-05-091-2/+3
|\ \ | |/ |/| Change channel_max default to 2047
| * Use 2047Michael Klishin2018-05-091-1/+1
| | | | | | | | | | Since channel 0 exists on every connection for negotiation and error communication. 655365 = (1 << 16) - 1, so 2047 = (1 << 11) - 1.
| * Change channel_max default to 2048Michael Klishin2018-05-091-2/+3
|/ | | | Closes #1593.
* Unused variable.Daniil Fedotov2018-04-271-1/+1
|
* Do not try to stop all slaves from slave process. Stop it and let another be ↵Daniil Fedotov2018-04-271-3/+0
| | | | | | | | | | promoted There can be a race condition when a master queue is briefly restarted. If master rejoins a stopping GM it is also stopped. In that case it sould be sefier to stop the slave and let another be promoted and also stopped. If master return it will either rejoin slaves or create a new GM.
* Merge pull request #1586 from rabbitmq/rabbitmq-management-565Arnaud Cogoluègnes2018-04-251-2/+6
|\ | | | | One more place where a map definition must be converted to proplist before validation
| * One more place where a map definition must be converted to proplist before ↵Michael Klishin2018-04-241-2/+6
| | | | | | | | | | | | | | | | | | | | | | validation Fixes rabbitmq/rabbitmq-management#565. References rabbitmq/rabbitmq-server#1493, rabbitmq/rabbitmq-federation#70, rabbitmq/rabbitmq-shovel#38, rabbitmq/rabbitmq-federation#73. [#157045132]
* | Merge pull request #1578 from rabbitmq/queue-not-promote-on-crashMichael Klishin2018-04-255-76/+160
|\ \ | |/ |/| Policy key to not promote unsynchronised queues.
| * Do not mention gm_deaths in error message.Daniil Fedotov2018-04-191-1/+1
| |
| * Test that ha-promote-on-failure takes precedence over ha-promote-on-shutdownDaniil Fedotov2018-04-181-2/+16
| |
| * Test for ha-promote-on-failure policy keyDaniil Fedotov2018-04-181-0/+35
| |
| * Introduce a new policy: ha-promote-on-failure (always by default)Daniil Fedotov2018-04-184-75/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new policy controls if unsynchronised slaves should be promoted after master crash. If set to `when-synced`, unsynchronised slaves will not be promoted, keeping the state of the queue, but making it unavailable until master node returns. This change is supposed to make the cluster shutdown safier, because queues can fail or be killed on shutdown. The queues without master will be available from the management UI and can be deleted and redeclared, but will not automatically loose messages. Trying to declare or passively declare the queue will result in a timeout error. Same way as if the master was gracefully stopped with ha-promote-on-shutdown: when-synced [#156811690]
* | Merge pull request #1583 from rabbitmq/rabbitmq-server-1582Michael Klishin2018-04-241-1/+3
|\ \ | | | | | | Handle bump_reduce_memory_use non-true case