[
https://issues.apache.org/jira/browse/HDFS-8428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14549852#comment-14549852
]
Yi Liu commented on HDFS-8428:
------------------------------
I also see the {{NullPointerException}} in {{TestDFSStripedInputStream}},
although the test passed, but actually there is exception:
{code}
2015-05-19 13:27:08,944 WARN ipc.Server (Server.java:run(2190)) - IPC Server
handler 2 on 50789, call
org.apache.hadoop.hdfs.server.protocol.DatanodeProtocol.blockReceivedAndDeleted
from 127.0.0.1:59424 Call#123 Retry#0
java.lang.NullPointerException
at
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.getStoredBlock(BlockManager.java:3581)
at
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.removeStoredBlock(BlockManager.java:3209)
at
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.processIncrementalBlockReport(BlockManager.java:3390)
at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.processIncrementalBlockReport(FSNamesystem.java:5545)
at
org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.blockReceivedAndDeleted(NameNodeRpcServer.java:1344)
at
org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.blockReceivedAndDeleted(DatanodeProtocolServerSideTranslatorPB.java:222)
at
org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:29418)
at
org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:636)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:976)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2171)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1666)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2166)
{code}
> Erasure Coding: Fix the NullPointerException when deleting file
> ---------------------------------------------------------------
>
> Key: HDFS-8428
> URL: https://issues.apache.org/jira/browse/HDFS-8428
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: Yi Liu
> Assignee: Yi Liu
>
> In HDFS, when removing some file, NN will also remove all its blocks from
> {{BlocksMap}}, and send {{DNA_INVALIDATE}} (invalidate blocks) commands to
> datanodes. After datanodes successfully delete the block replicas, will
> report {{DELETED_BLOCK}} to NameNode.
> snippet code logic in {{BlockManager#processIncrementalBlockReport}} is as
> following
> {code}
> case DELETED_BLOCK:
> removeStoredBlock(storageInfo, getStoredBlock(rdbi.getBlock()), node);
> ...
> {code}
> {code}
> private void removeStoredBlock(DatanodeStorageInfo storageInfo, Block block,
> DatanodeDescriptor node) {
> if (shouldPostponeBlocksFromFuture &&
> namesystem.isGenStampInFuture(block)) {
> queueReportedBlock(storageInfo, block, null,
> QUEUE_REASON_FUTURE_GENSTAMP);
> return;
> }
> removeStoredBlock(getStoredBlock(block), node);
> }
> {code}
> In EC branch, we add {{getStoredBlock}}. There is {{NullPointerException}}
> when handling {{DELETED_BLOCK}} of incrementalBlockReport from DataNode after
> delete a file, since the block is already removed, we need to check.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)