[ 
https://issues.apache.org/jira/browse/HDFS-13399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454623#comment-16454623
 ] 

Plamen Jeliazkov commented on HDFS-13399:
-----------------------------------------

I think I may have uncovered something from looking into how 
{{testStateTransferOnWriteWithFailover}} failed on its own.

I noticed the EditLog is using {{FSEditLogAsync}} implementation. The client's 
state is updated using {{FSNamesystem.getLastWrittenTransactionId}} which gets 
the txid variable without locking. This isn't really an issue as much as that 
txid is updated asynchronously to the client's RPC call.

This means the stateId we are currently returning the client is not truly 
indicative of the client's call because the edit may have been enqueued but not 
dequeued and thus the txid not updated.

For fixing the tests I could force the NameNode's to use the regular 
{{FSEditLog}} and not the async variant; but obviously we can't expect that 
from the users.

How do we go about addressing this?

It seems that an early txid to edit mapping is missing and txid is only 
incremented and assigned just before being dequeued and written to the edit log.

> Make Client field AlignmentContext non-static.
> ----------------------------------------------
>
>                 Key: HDFS-13399
>                 URL: https://issues.apache.org/jira/browse/HDFS-13399
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>    Affects Versions: HDFS-12943
>            Reporter: Plamen Jeliazkov
>            Assignee: Plamen Jeliazkov
>            Priority: Major
>         Attachments: HDFS-13399-HDFS-12943.000.patch, 
> HDFS-13399-HDFS-12943.001.patch, HDFS-13399-HDFS-12943.002.patch, 
> HDFS-13399-HDFS-12943.003.patch, HDFS-13399-HDFS-12943.004.patch, 
> HDFS-13399-HDFS-12943.005.patch
>
>
> In HDFS-12977, DFSClient's constructor was altered to make use of a new 
> static method in Client that allowed one to set an AlignmentContext. This 
> work is to remove that static field and make each DFSClient pass it's 
> AlignmentContext down to the proxy Call level.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to