summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #917 from rabbitmq/rabbitmq-server-909Michael Klishin2016-08-104-3/+72
|\ | | | | Add tcp linger option to schema
| * Non negative integer validatorDaniil Fedotov2016-08-102-4/+4
| |
| * Non negative validator for tcp lingerDaniil Fedotov2016-08-102-2/+12
| |
| * Add tcp linger option to schemaDaniil Fedotov2016-08-104-3/+62
|/
* Merge branch 'stable'Jean-Sébastien Pédron2016-08-102-3/+30
|\
| * Merge pull request #892 from binarin/rabbitmq-server-890Jean-Sébastien Pédron2016-08-102-3/+30
| |\ | | | | | | Fix longname-mode on hosts without detectable FQDN
| | * Fix longname-mode on hosts without detectable FQDNAlexey Lebedeff2016-07-222-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Server startup and CLI tools fail in longnames-mode if erlang is not able to determine host FQDN (with at least one dot in it). E.g. this can happen when you want to assemble a cluster using only IP-addresses, and you completely don't care about FQDNs. And it was not possible to alleviate this situation using any options from http://erlang.org/doc/apps/erts/inet_cfg.html Fixes #890
* | | Merge branch 'stable'Michael Klishin2016-08-101-1/+1
|\ \ \ | |/ /
| * | Merge pull request #910 from rabbitmq/rabbitmq-server-850Michael Klishin2016-08-101-1/+1
| |\ \ | | | | | | | | Added resume after flow
| | * | add resume after flowGabriele Santomaggio2016-08-081-1/+1
| | | |
| | * | fix loop in flow control stateGabriele Santomaggio2016-08-051-1/+1
| | | |
* | | | Merge branch 'stable'Michael Klishin2016-08-082-0/+9
|\ \ \ \ | |/ / /
| * | | Commit .deb and .rpm change logsMichael Klishin2016-08-052-0/+9
| |/ /
* | | Merge pull request #900 from johnlonganecker/masterMichael Klishin2016-08-021-1/+1
|\ \ \ | | | | | | | | fixed typo in config example comment
| * | | fixed typo in config example commentjohnlonganecker2016-07-291-1/+1
| | | |
* | | | Merge branch 'stable'Michael Klishin2016-08-021-1/+3
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | Merge branch 'rabbitmq-server-904' into stablerabbitmq_v3_6_5_milestone2rabbitmq_v3_6_5_milestone1rabbitmq_v3_6_5Michael Klishin2016-08-021-1/+3
| |\ \
| | * | added rabbit_registry requireGabriele Santomaggio2016-08-021-1/+3
| |/ /
* | | Merge branch 'stable'Michael Klishin2016-07-301-1/+1
|\ \ \ | |/ /
| * | Merge pull request #898 from binarin/rabbitmq-server-868-secsMichael Klishin2016-07-301-1/+1
| |\ \ | | | | | | | | Fix some type specs
| | * | Fix some type specsAlexey Lebedeff2016-07-291-1/+1
| |/ / | | | | | | | | | Forgot to update specs in #868
* | | Merge branch 'stable'Michael Klishin2016-07-292-0/+9
|\ \ \ | |/ /
| * | Commit .deb and .rpm change logsMichael Klishin2016-07-292-0/+9
| | |
* | | Merge branch 'stable'Diana Corbacho2016-07-292-2/+2
|\ \ \ | |/ /
| * | Merge pull request #896 from rabbitmq/rabbitmq-server-895rabbitmq_v3_6_4D Corbacho2016-07-292-2/+2
| |\ \ | | | | | | | | Bump default VM atom table limit to 5M
| | * | Bump default VM atom table size to 5MMichael Klishin2016-07-282-2/+2
| | |/ | | | | | | | | | | | | | | | See #895 for background and reasoning. Fixes #895.
| * | Merge pull request #894 from lemenkov/toctou_in_cluster_statusMichael Klishin2016-07-281-3/+6
| |\ \ | | |/ | |/| Don't die in case of faulty node
* | | Merge branch 'stable'Michael Klishin2016-07-281-3/+6
|\ \ \ | | |/ | |/|
| * | Don't die in case of faulty nodePeter Lemenkov2016-07-281-3/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes TOCTOU issue introduced in the following commit: * rabbitmq/rabbitmq-server@93b9e37c3ea0cade4e30da0aa1f14fa97c82e669 If the node was just removed from the cluster, then there is a small window when it is still listed as a member of a Mnesia cluster locally. We retrieve list of nodes by calling locally ```erlang unsafe_rpc(Node, rabbit_mnesia, cluster_nodes, [running]). ``` However retrieving status from that particular failed node is no longer available and throws an exception. See `alarms_by_node(Name)` function, which is simply calls `unsafe_rpc(Name, rabbit, status, [])` for this node. This `unsafe_rpc/4` function is basically a wrapper over `rabbit_misc:rpc_call/4` which translates `{badrpc, nodedown}` into exception. This exception generated by `alarms_by_node(Name)` function call emerges on a very high level, so rabbitmqct thinks that the entire cluster is down, while generating a very bizarre message: Cluster status of node 'rabbit@overcloud-controller-0' ... Error: unable to connect to node 'rabbit@overcloud-controller-0': nodedown DIAGNOSTICS =========== attempted to contact: ['rabbit@overcloud-controller-0'] rabbit@overcloud-controller-0: * connected to epmd (port 4369) on overcloud-controller-0 * node rabbit@overcloud-controller-0 up, 'rabbit' application running current node details: - node name: 'rabbitmq-cli-31@overcloud-controller-0' - home dir: /var/lib/rabbitmq - cookie hash: PB31uPq3vzeQeZ+MHv+wgg== See - it reports that it failed to connect to node 'rabbit@overcloud-controller-0' (because it catches an exception from `alarms_by_node(Name)`), but attempt to connect to this node was successful ('rabbit' application running). In order to fix that we should not throw exception during consequent calls (`[alarms_by_node(Name) || Name <- nodes_in_cluster(Node)]`), only during the first one (`unsafe_rpc(Node, rabbit_mnesia, status, [])`). Even more - we don't need to change `nodes_in_cluster(Node)`, because it is called locally. The only function which must use `rabbit_misc:rpc_call/4` is `alarms_by_node(Name)` because it is executed remotely. See this issue for further details and real world example: * https://bugzilla.redhat.com/1356169 Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
* | dynamic_ha_SUITE: Disable random policy tests for nowJean-Sébastien Pédron2016-07-221-3/+5
| | | | | | | | | | | | | | | | ... while known failures are being investigated. This should unblock downstream tasks in Concourse. References #889. [#126767013]
* | dynamic_ha_SUITE: Log the failing set of policiesJean-Sébastien Pédron2016-07-221-10/+11
| | | | | | | | | | References #889. [#126767013]
* | dynamic_ha_SUITE: Add a new kind of failing set of policiesJean-Sébastien Pédron2016-07-221-4/+7
| | | | | | | | | | References #889. [#126767013]
* | dynamic_ha_SUITE: Handle the change of queue master PIDJean-Sébastien Pédron2016-07-211-24/+32
| | | | | | | | | | | | | | | | We must query the queue master PID before each check and handle `badrpc` if the process disappeared. References #889. [#126767013]
* | dynamic_ha_SUITE: Explicitely add failing policies found by PropErJean-Sébastien Pédron2016-07-211-0/+12
| | | | | | | | | | References #889. [#126767013]
* | dynamic_ha_SUITE: Wait for the last policy to apply a little longerJean-Sébastien Pédron2016-07-211-28/+49
| | | | | | | | | | | | | | This fixes some false positives. References #889. [#126767013]
* | dynamic_ha_SUITE: Use an assertion to possibly fail the testJean-Sébastien Pédron2016-07-211-10/+4
| | | | | | | | | | | | | | | | | | | | ... instead of raising an exit signal. While here, use ct:pal/3 as the output function for PropEr, not io:format/3. This ensures common_test knows the origin of the message and that it's expected. [#126767013]
* | Merge pull request #884 from binarin/rabbitmq-server-818-masterMichael Klishin2016-07-147-33/+222
|\ \ | | | | | | Merge 883 into master
| * \ Merge local `node_health_check` into `master`Alexey Lebedeff2016-07-147-33/+222
| |\ \ |/ / / | | _
| * Update rabbitmq-components.mkrabbitmq_v3_6_4_rc1rabbitmq_v3_6_4_milestone2rabbitmq_v3_6_4_milestone1Michael Klishin2016-07-141-0/+1
| |
| * Merge pull request #873 from rabbitmq/rabbitmq-server-612Michael Klishin2016-07-144-12/+18
| |\ | | | | | | Tune scheduling bind flags for Erlang VM
| | * use the default_bind bind typeKarl Nilsson2016-07-142-2/+2
| | |
| | * remove stale commentKarl Nilsson2016-07-141-5/+1
| | |
| | * Set scheduler bindings in rabbitmq-env.bat for windowsKarl Nilsson2016-07-144-22/+19
| | | | | | | | | | | | rename SCHEDULING to SCHEDULER in line with erlang documentation
| | * RenamingDiana Corbacho2016-07-133-9/+9
| | |
| | * Tune scheduling bind flags for Erlang VMDiana Corbacho2016-07-043-1/+14
| | |
| * | Merge branch 'binarin-rabbitmq-server-818' into stableMichael Klishin2016-07-143-21/+204
| |\ \
| | * | Run client helper tear down steps before broker'sMichael Klishin2016-07-141-2/+2
| | | |
| | * | Add `node_health_check` test suiteAlexey Lebedeff2016-07-141-0/+167
| | | |
| | * | Reuse timeout/error logic for `node_health_check`Alexey Lebedeff2016-07-141-14/+14
| | | |
| | * | Default timeouts: fix global/add per-commandAlexey Lebedeff2016-07-142-7/+23
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Global timeout `?RPC_TIMEOUT` was not used, because default value of infinity was always introduced via `?TIMEOUT_DEF`. Now `infinity` is used for commands without timeout support, and `?RPC_TIMEOUT` otherwise. - `?COMMANDS_WITH_TIMEOUT` now can contain per-command default values for timeout, using tuple `{Command, DefaultTimeoutInMilliSeconds}` instead of just `Command`.