[ https://issues.apache.org/jira/browse/HDFS-15915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17351140#comment-17351140 ]
Virajith Jalaparti edited comment on HDFS-15915 at 5/25/21, 3:40 PM: --------------------------------------------------------------------- Thanks for making the changes [~shv]. Minor comment: The {{start = monotonicNow()}} should be done after the call to {{beginTransaction(null)}} in lines 1637-1638 in {{logEdit}} method to keep it consistent with others places (and previous implementation) where {{endTransaction}} is called with the start time. Verified that the added test fails if the other changes in the patch are removed. +1 on committing the patch once this minor comment is addressed. was (Author: virajith): Thanks for making the changes [~shv]. Minor comment: The {{long start = monotonicNow();}} should be done after the call to {{beginTransaction(null);}} in lines 1637-1638 in {{logEdit}} method to keep it consistent with others places (and previous implementation) where {{endTransaction}} is called with the start time. Verified that the added test fails if the other changes in the patch are removed. +1 on committing the patch once this minor comment is addressed. > Race condition with async edits logging due to updating txId outside of the > namesystem log > ------------------------------------------------------------------------------------------ > > Key: HDFS-15915 > URL: https://issues.apache.org/jira/browse/HDFS-15915 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs, namenode > Reporter: Konstantin Shvachko > Assignee: Konstantin Shvachko > Priority: Major > Attachments: HDFS-15915-01.patch, HDFS-15915-02.patch, > HDFS-15915-03.patch, HDFS-15915-04.patch, testMkdirsRace.patch > > > {{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. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org