diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2013-05-29 08:48:48 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2013-05-29 08:48:48 +0100 |
commit | ee8dfa998133c8b13195e5164a25e001fa24ed5e (patch) | |
tree | 8519bffcd0ca0756207c6711f83765a33432390a /src/rabbit_guid.erl | |
parent | 8e222d809d2ae84ca9b70ab180224f62e83234e4 (diff) | |
download | rabbitmq-server-ee8dfa998133c8b13195e5164a25e001fa24ed5e.tar.gz |
cope with empty rabbit_serial filebug25575
Diffstat (limited to 'src/rabbit_guid.erl')
-rw-r--r-- | src/rabbit_guid.erl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rabbit_guid.erl b/src/rabbit_guid.erl index 6c45deea..bec29e59 100644 --- a/src/rabbit_guid.erl +++ b/src/rabbit_guid.erl @@ -63,6 +63,7 @@ update_disk_serial() -> Filename = filename(), Serial = case rabbit_file:read_term_file(Filename) of {ok, [Num]} -> Num; + {ok, []} -> 0; %% [1] {error, enoent} -> 0; {error, Reason} -> throw({error, {cannot_read_serial_file, Filename, Reason}}) @@ -73,6 +74,10 @@ update_disk_serial() -> throw({error, {cannot_write_serial_file, Filename, Reason1}}) end, Serial. +%% [1] a couple of users have reported startup failures due to the +%% file being empty, presumably as a result of filesystem +%% corruption. While rabbit doesn't cope with that in general, in this +%% specific case we can be more accommodating. %% Generate an un-hashed guid. fresh() -> |