diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-12-22 12:03:52 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-12-22 12:03:52 +0000 |
| commit | 79685d044aee1ec7c557660fbefbcede8d789338 (patch) | |
| tree | aa4d69def4c1ef6894480ec10e964621b0b37b0a /src | |
| parent | 5282534220029eaaf138542eb15b16fa96afde82 (diff) | |
| download | rabbitmq-server-git-79685d044aee1ec7c557660fbefbcede8d789338.tar.gz | |
Recover queues after non-clean shutdown
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_variable_queue.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index 367cbb464e..dda7605969 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -2815,9 +2815,13 @@ migrate_queue({QueueName, RecoveryTerm}, OldStore, NewStoreSup) -> rabbit_msg_store:client_terminate(OldStoreClient), rabbit_msg_store:client_terminate(NewStoreClient), NewClientRef = rabbit_msg_store:client_ref(NewStoreClient), - NewRecoveryTerm = lists:keyreplace(persistent_ref, 1, RecoveryTerm, - {persistent_ref, NewClientRef}), - rabbit_queue_index:update_recovery_term(QueueName, NewRecoveryTerm), + case RecoveryTerm of + non_clean_shutdown -> ok; + Term when is_list(Term) -> + NewRecoveryTerm = lists:keyreplace(persistent_ref, 1, RecoveryTerm, + {persistent_ref, NewClientRef}), + rabbit_queue_index:update_recovery_term(QueueName, NewRecoveryTerm) + end, log_upgrade_verbose("Queue migration finished ~p", [QueueName]), {QueueName, NewClientRef}. |
