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

Reply via email to