summaryrefslogtreecommitdiff
path: root/src/mochijson2.erl
diff options
context:
space:
mode:
authorJean-Sebastien Pedron <jean-sebastien@rabbitmq.com>2014-12-10 10:55:12 +0100
committerJean-Sebastien Pedron <jean-sebastien@rabbitmq.com>2014-12-10 10:55:12 +0100
commit65b7f0cad75baaf1bebb5fc5c66f40f7758a05cc (patch)
tree142ad75a83e56ac586d47d84521516ff081126f6 /src/mochijson2.erl
parent28f82588c0ea05fa9e69b370ce03a0a316ce9f24 (diff)
downloadrabbitmq-server-git-65b7f0cad75baaf1bebb5fc5c66f40f7758a05cc.tar.gz
Autoheal: Make sure Mnesia is stopped on all losers before they restart
This works around a race in Mnesia where a starting loser would hang forever. This happens when a starting loser connects to another loser, negotiates the Mnesia protocol and attempts to acquire a write lock on the other node's schema. If the other nodes stops right between the protocol negotiation and the lock request, the starting node never receives an answer to its request. Before this fix, the hang occurred after at most 30 minutes looping on the partitions:autoheal test in rabbitmq-test. With the fix, RabbitMQ survived an all night long run.
Diffstat (limited to 'src/mochijson2.erl')
0 files changed, 0 insertions, 0 deletions