Details
Description
FSEditLogAsync creates an FSEditLogOp and populates its fields inside FSNamesystem.writeLock. But one essential field the transaction id of the edits op remains unset until the time when the operation is scheduled for synching. At that time beginTransaction() will set the the FSEditLogOp.txid and increment the global transaction count. On busy NameNode this event can fall outside the write lock.
This causes problems for Observer reads. It also can potentially reshuffle transactions and Standby will apply them in a wrong order.
Attachments
Attachments
Issue Links
- breaks
-
HADOOP-19164 Hadoop CLI MiniCluster is broken
- Resolved
-
HDFS-16050 Some dynamometer tests fail
- Resolved
-
YARN-10808 TestHBaseTimelineStorageUtils fails by NoClassDefFoundError
- Resolved
- is related to
-
HBASE-28944 TestShadedHBaseTestingUtility fails with NCDFE: org/mockito/stubbing/Answer
- Resolved