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

Chen Liang commented on HDFS-12977:
-----------------------------------

Thanks [~zero45] for working on this! patch looks pretty good to me. Just one 
minor thing, looks {{ClientGCIContext#receiveResponseState}} will be called on 
every single client RPC. Since there can be high volume of such calls, I think 
it might worth considering to minimize the synchronization overhead here. 
Instead of using synchronized, maybe we can leverage Java 8's 
[{{LongAccumulator}}|https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAccumulator.html],
 such as:
{code}
LongAccumulator longAccumulator = new LongAccumulator(Long::max, 
Long.MIN_VALUE);
{code}
Then in receiveResponseState, it's just:
{code}
long lastSeenStateId = header.getStateId();
lastSeenStateId.accumulate(lastSeenStateId);
{code}

> Add stateId to RPC headers.
> ---------------------------
>
>                 Key: HDFS-12977
>                 URL: https://issues.apache.org/jira/browse/HDFS-12977
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ipc, namenode
>            Reporter: Konstantin Shvachko
>            Assignee: Plamen Jeliazkov
>            Priority: Major
>         Attachments: HDFS_12977.trunk.001.patch, HDFS_12977.trunk.002.patch, 
> HDFS_12977.trunk.003.patch, HDFS_12977.trunk.004.patch, 
> HDFS_12977.trunk.005.patch, HDFS_12977.trunk.006.patch, 
> HDFS_12977.trunk.007.patch
>
>
> stateId is a new field in the RPC headers of NameNode proto calls.
> stateId is the journal transaction Id, which represents LastSeenId for the 
> clients and LastWrittenId for NameNodes. See more in [reads from Standby 
> design 
> doc|https://issues.apache.org/jira/secure/attachment/12902925/ConsistentReadsFromStandbyNode.pdf].



--
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