Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
core 1.4.5
-
None
-
None
Description
Given the following scenario:
(1) We have two nodes CN1 and CN2 in a cluster, where CN2's latest revision is R > 0
(2) Stop CN1 and CN2
(3) Remove CN1's local revision file and all journal files
(4) Restart CN1, append some records, until we have a revision R' > R
(5) Restart CN2
This will produce an unrecoverable error, because CN2 will stay in a loop, trying to read the journal record following revision R, i.e. starting at file position R, which points to the middle of some record.
Therefore, in order to easily detect this situation, a journal log should contain a unique identifier, which will also be recorded in the local file revision.