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

Xiaoqiao He commented on HDFS-15079:
------------------------------------

Hi [~ferhui], IIUC, ClientId & CallId of request from Router to NameNode are 
both created by Router itself and ClientId matches with connection one by one. 
Ref. ConnectionPool#newConnection
{code:java}
    Object proxy = RPC.getProtocolProxy(classes.protoPb, version, socket, ugi,
        conf, factory, RPC.getRpcTimeout(conf), defaultPolicy, null).getProxy();
{code}
If router could reuse ClientId and CallId received from client to request 
NameNode, we should not worry about non-idempotent operation request to 
different routers and get the wrong result in some case.
The only question is this solution has to involve RPC changes, we need to open 
ClientId & CallId getter and setter to support router handle them.

> RBF: Client maybe get an unexpected result with network anomaly 
> ----------------------------------------------------------------
>
>                 Key: HDFS-15079
>                 URL: https://issues.apache.org/jira/browse/HDFS-15079
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: rbf
>    Affects Versions: 3.3.0
>            Reporter: Fei Hui
>            Priority: Critical
>         Attachments: UnexpectedOverWriteUT.patch
>
>
>  I find there is a critical problem on RBF, HDFS-15078 can resolve it on some 
> Scenarios, but i have no idea about the overall resolution.
> The problem is that
> Client with RBF(r0, r1) create a file HDFS file via r0, it gets Exception and 
> failovers to r1
> r0 has been send create rpc to namenode(1st create)
> Client create a HDFS file via r1(2nd create)
> Client writes the HDFS file and close it finally(3rd close)
> Maybe namenode receiving the rpc in order as follow
> 2nd create
> 3rd close
> 1st create
> And overwrite is true by default, this would make the file had been written 
> an empty file. This is an critical problem 
> We had encountered this problem. There are many hive and spark jobs running 
> on our cluster,   sometimes it occurs



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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