diff options
| author | Luke Bakken <luke@bakken.io> | 2018-12-17 12:49:36 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-17 12:49:36 -0800 |
| commit | 6b73cadf47b2a23be04c3c25fed216f3e8240458 (patch) | |
| tree | c1676246d23b7ed3dddb984187e3d46e44da72db /src | |
| parent | bc662bc0a807f5b0ad0681fb2bcf49534f93729c (diff) | |
| parent | 0be4ac363e5b65eeedfda89d4cb681dfb97e2c7f (diff) | |
| download | rabbitmq-server-git-6b73cadf47b2a23be04c3c25fed216f3e8240458.tar.gz | |
Merge pull request #1685 from rabbitmq/rabbitmq-server-1682
Take "true" case into consideration
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_amqqueue.erl | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index 016443bb73..d938bece8c 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -584,7 +584,17 @@ retry_wait(Q = #amqqueue{pid = QPid, name = Name, state = QState}, F, E, Retries {stopped, false} -> E({absent, Q, stopped}); _ -> - false = rabbit_mnesia:is_process_alive(QPid), + case rabbit_mnesia:is_process_alive(QPid) of + true -> + % rabbitmq-server#1682 + % The old check would have crashed here, + % instead, log it and run the exit fun. absent & alive is weird, + % but better than crashing with badmatch,true + rabbit_log:debug("Unexpected alive queue process ~p~n", [QPid]), + E({absent, Q, alive}); + false -> + ok % Expected result + end, timer:sleep(30), with(Name, F, E, RetriesLeft - 1) end. |
