Haohui Mai created HDFS-8269:
--------------------------------

             Summary: getBlockLocations() does not resolve the .reserved path 
and generates incorrect edit logs when updating the atime
                 Key: HDFS-8269
                 URL: https://issues.apache.org/jira/browse/HDFS-8269
             Project: Hadoop HDFS
          Issue Type: Bug
            Reporter: Yesha Vora
            Assignee: Haohui Mai
            Priority: Blocker


When {{FSNamesystem#getBlockLocations}} updates the access time of the INode, 
it uses the path passed from the client, which generates incorrect edit logs 
entries:

{noformat}
  <RECORD>
    <OPCODE>OP_TIMES</OPCODE>
    <DATA>
      <TXID>5085</TXID>
      <LENGTH>0</LENGTH>
      <PATH>/.reserved/.inodes/18230</PATH>
      <MTIME>-1</MTIME>
      <ATIME>1429908236392</ATIME>
    </DATA>
  </RECORD>
{noformat}

Note that the NN does not resolve the {{/.reserved}} path when processing the 
edit log, therefore it eventually leads to a NPE when loading the edit logs.




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

Reply via email to