Plamen Jeliazkov commented on HDFS-12977:

I spoke with Konstantin offline and concluded to use just StateContext for now 
until we can come up with a better descriptive word to prepend to it.

Regarding (1), I changed the interface now to ServerContext and provided that 
method along with the method:
{code:java}void receiveResponseState(RpcHeaderProtos.RpcResponseHeaderProto 
I also created an implementation, NNStateContext. I removed the "Id" from the 
name because it is general enough to carry more than information (in the 
future, maybe) than just ID(s). NNStateContext provides updateResponseState but 
leaves receiveResponseState as a no-op and is never called. Likewise one thing 
that was not addressed was the need for DFSClient changes. I created a 
DfsClientStateContext which implements StateContext and implements 
receiveResponseState but leaves updateResponseState as a no-op.

Regarding (2), I was able to do as you asked but had to add stateContext back 
into ipc.Server and out of Protobuf and Writable implementations.

(3) is fulfilled -- No more changes in ProtobufRPCEngine.call method nor 
additions to Server.Call.

Regarding (4) -- there is no more mention of transactionId anywhere. But in the 
implementations of StateContext we refer to "lastWrittenId" and "lastSeenId". 
If you would like these changed to "stateId", let me know. I feel like within 
the implementation they make sense, however.

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

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