[ https://issues.apache.org/jira/browse/HDFS-9781?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15457568#comment-15457568 ]
Xiao Chen commented on HDFS-9781: --------------------------------- Sorry for my epic slow response on this one.... And thanks all for commenting! I think Manoj's analysis is correct, and (B) seems to make sense. Would like to hear others' thoughts on this too. Patch 2 looks good. Thanks for reproducing this in the unit test, Manoj. The only comment I have is in the warning log, maybe we can combine the space with the next sentence. Also we should either add the new jira in the TODO comment, or commit that before this. > FsDatasetImpl#getBlockReports can occasionally throw NullPointerException > ------------------------------------------------------------------------- > > Key: HDFS-9781 > URL: https://issues.apache.org/jira/browse/HDFS-9781 > Project: Hadoop HDFS > Issue Type: Bug > Components: datanode > Affects Versions: 3.0.0-alpha1 > Environment: Jenkins > Reporter: Wei-Chiu Chuang > Assignee: Manoj Govindassamy > Attachments: HDFS-9781.002.patch, HDFS-9781.01.patch > > > FsDatasetImpl#getBlockReports occasionally throws NPE. The NPE caused > TestFsDatasetImpl#testRemoveVolumeBeingWritten to time out, because the test > waits for the call to FsDatasetImpl#getBlockReports to complete without > exceptions. > Additionally, the test should be updated to identify an expected exception, > using {{GenericTestUtils.assertExceptionContains()}} > {noformat} > Exception in thread "Thread-20" java.lang.NullPointerException > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.getBlockReports(FsDatasetImpl.java:1709) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.TestFsDatasetImpl$1BlockReportThread.run(TestFsDatasetImpl.java:587) > 2016-02-08 15:47:30,379 [Thread-21] WARN impl.TestFsDatasetImpl > (TestFsDatasetImpl.java:run(606)) - Exception caught. This should not affect > the test > java.io.IOException: Failed to move meta file for ReplicaBeingWritten, > blk_0_0, RBW > getNumBytes() = 0 > getBytesOnDisk() = 0 > getVisibleLength()= 0 > getVolume() = > /home/weichiu/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/test/data/Nmi6rYndvr/data0/current > getBlockFile() = > /home/weichiu/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/test/data/Nmi6rYndvr/data0/current/bpid-0/current/rbw/blk_0 > bytesAcked=0 > bytesOnDisk=0 from > /home/weichiu/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/test/data/Nmi6rYndvr/data0/current/bpid-0/current/rbw/blk_0_0.meta > to > /home/weichiu/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/test/data/Nmi6rYndvr/data0/current/bpid-0/current/finalized/subdir0/subdir0/blk_0_0.meta > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.moveBlockFiles(FsDatasetImpl.java:857) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.BlockPoolSlice.addFinalizedBlock(BlockPoolSlice.java:295) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeImpl.addFinalizedBlock(FsVolumeImpl.java:819) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.finalizeReplica(FsDatasetImpl.java:1620) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.finalizeBlock(FsDatasetImpl.java:1601) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.TestFsDatasetImpl$1ResponderThread.run(TestFsDatasetImpl.java:603) > Caused by: java.io.IOException: > renameTo(src=/home/weichiu/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/test/data/Nmi6rYndvr/data0/current/bpid-0/current/rbw/blk_0_0.meta, > > dst=/home/weichiu/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/test/data/Nmi6rYndvr/data0/current/bpid-0/current/finalized/subdir0/subdir0/blk_0_0.meta) > failed. > at org.apache.hadoop.io.nativeio.NativeIO.renameTo(NativeIO.java:873) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.moveBlockFiles(FsDatasetImpl.java:855) > ... 5 more > 2016-02-08 15:47:34,381 [Thread-19] INFO impl.FsDatasetImpl > (FsVolumeList.java:waitVolumeRemoved(287)) - Volume reference is released. > 2016-02-08 15:47:34,384 [Thread-19] INFO impl.TestFsDatasetImpl > (TestFsDatasetImpl.java:testRemoveVolumeBeingWritten(622)) - Volumes removed > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org