[ 
https://issues.apache.org/jira/browse/HDFS-7210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uma Maheswara Rao G updated HDFS-7210:
--------------------------------------
    Attachment: HDFS-7210-006.patch

Attached a patch, which should pass jenkins.

 Here the issue is, we need to add to retry cache as LastBlockWithStatus while 
loading from editload as well. Otherwise, it will fail with ClasscastException 
as append API flow expects LastBlockWithStatus obj from RetryCache.

{code}
 if (cacheEntry != null && cacheEntry.isSuccess()) {
      return (LastBlockWithStatus) cacheEntry.getPayload();
    }
{code}

Lets see for Jenkins results now.

> Avoid two separate RPC's namenode.append() and namenode.getFileInfo() for an 
> append call from DFSClient
> -------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-7210
>                 URL: https://issues.apache.org/jira/browse/HDFS-7210
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs-client, namenode
>            Reporter: Vinayakumar B
>            Assignee: Vinayakumar B
>         Attachments: HDFS-7210-001.patch, HDFS-7210-002.patch, 
> HDFS-7210-003.patch, HDFS-7210-004.patch, HDFS-7210-005.patch, 
> HDFS-7210-006.patch
>
>
> Currently DFSClient does 2 RPCs to namenode for an append operation.
> {{append()}} for re-opening the file and getting the last block, 
> {{getFileInfo()}} Another on to get HdfsFileState
> If we can combine result of these 2 calls and make one RPC, then it can 
> reduce load on NameNode.
> For the backward compatibility we need to keep existing {{append()}} call as 
> is



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to