[
https://issues.apache.org/jira/browse/HDFS-13665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16526868#comment-16526868
]
Plamen Jeliazkov commented on HDFS-13665:
-----------------------------------------
[~shv] and [~xkrogen], thank you for your reviews.
[~xkrogen]:
(1) Your first point sent me on a fun chase. I actually ended up duplicating
the {{TestStateAlignmentContextWithHA}} test and reconfiguring it to run with
Sasl wrapping. It took a while but I was surprised to find that the tests all
still passed. It took me a while to dig thru the code but I came out of it with
some insight. So, the reason state ID is not lost is because {{wrapWithSasl}}
does as it implies. It wraps the actual RpcResponse. The trick is that it
treats the original {{call.rpcResponse}} as a "token" object, which it then
puts into the {{RpcSaslProto}}. So when the client gets the response it unwraps
the SaslProto and then finally gets the regular {{RpcResponse}} with stateID
intact. I have a patch with this duplicated set of Sasl tests. Let me know if
you'd like me to upload it. :D
(2) No problem with renames. I'll get it done.
(3) Simply for the sake of calling 1 method vs 2. I also didn't think
"Buffered" made sense anymore but seems I missed the variable renames.
I will go ahead and fix just (2) then unless you uncover something else. Let me
know if that's ok.
> Move RPC response serialization into Server.doResponse
> ------------------------------------------------------
>
> Key: HDFS-13665
> URL: https://issues.apache.org/jira/browse/HDFS-13665
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Affects Versions: HDFS-12943
> Reporter: Plamen Jeliazkov
> Assignee: Plamen Jeliazkov
> Priority: Major
> Attachments: HDFS-13665-HDFS-12943.000.patch,
> HDFS-13665-HDFS-12943.001.patch
>
>
> In HDFS-13399 we addressed a race condition in AlignmentContext processing
> where the RPC response would assign a transactionId independently of the
> transactions own processing, resulting in a stateId response that was lower
> than expected. However this caused us to serialize the RpcResponse twice in
> order to address the header field change.
> See here:
> https://issues.apache.org/jira/browse/HDFS-13399?focusedCommentId=16464279&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16464279
> And here:
> https://issues.apache.org/jira/browse/HDFS-13399?focusedCommentId=16498660&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16498660
> At the end it was agreed upon to move the logic of Server.setupResponse into
> Server.doResponse directly.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]