Details
-
Bug
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Namenode failed in the production cluster when JN role is migrated.
ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode. java.io.IOException: There appears to be a gap in the edit log. We expected txid xxxxxx, but got txid xxxxxx.
InitializeSharedEdits issued as part of the role migration step. Note, no checkpoint is performed in the past few hours.
InitializeSharedEdits created a new log segment from the edit_inprogres transaction and deleted all old transactions.
My ask here is to delete any edit transaction older than the fimage transaction. But currently, it deletes all transactions and no check is enforced in JNStorage#format().