You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Eli Collins (JIRA)" <ji...@apache.org> on 2010/11/17 20:36:15 UTC
[jira] Created: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
TestBlockRecovery triggers NPE in assert
----------------------------------------
Key: HDFS-1502
URL: https://issues.apache.org/jira/browse/HDFS-1502
Project: Hadoop HDFS
Issue Type: Bug
Affects Versions: 0.22.0
Reporter: Eli Collins
Priority: Minor
Fix For: 0.22.0
{noformat}
Testcase: testRBW_RWRReplicas took 10.333 sec
Caused an ERROR
null
java.lang.NullPointerException
at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
{noformat}
{noformat}
Block reply = r.datanode.updateReplicaUnderRecovery(
r.rInfo, recoveryId, newBlock.getNumBytes());
assert reply.equals(newBlock) &&
reply.getNumBytes() == newBlock.getNumBytes() :
"Updated replica must be the same as the new block."; <----- line 1881
{noformat}
Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Hairong Kuang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hairong Kuang updated HDFS-1502:
--------------------------------
Attachment: fixTestBlockRecovery.patch
This patch should be able to fix the problem.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: fixTestBlockRecovery.patch, HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12965502#action_12965502 ]
Konstantin Boudnik commented on HDFS-1502:
------------------------------------------
Looking somewhat more into this I see in a debugger that {{reply.getNumBytes()}} is 6000 {{newBlock.getNumBytes()}} is only 5000 (as set in the test class). So they are different which causes assertion to happen.
{noformat}
if(rState == bestState) {
minLength = Math.min(minLength, r.rInfo.getNumBytes());
participatingList.add(r);
}
{noformat}
The difference is set by the code above, apparently. I am not that well familiar with recovery process in particular, but it seems like there are some issues with this part of the code. Thoughts?
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] [Commented] (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13022442#comment-13022442 ]
Hudson commented on HDFS-1502:
------------------------------
Integrated in Hadoop-Hdfs-trunk #643 (See [https://builds.apache.org/hudson/job/Hadoop-Hdfs-trunk/643/])
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Assignee: Hairong Kuang
> Priority: Minor
> Fix For: 0.22.0, 0.23.0
>
> Attachments: HDFS-1502.patch, fixTestBlockRecovery.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12967061#action_12967061 ]
Konstantin Boudnik commented on HDFS-1502:
------------------------------------------
Thanks Hirong - all test cases are passing for me. I''l run the validation and will commit the patch if everything is Ok.
+1 on the patch.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: fixTestBlockRecovery.patch, HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12933108#action_12933108 ]
Todd Lipcon commented on HDFS-1502:
-----------------------------------
I was looking into this yesterday. The issue is that we're calling it with a mock DataNode object in the test, but the mock isn't told what to return.
We need an Answer interface to use in this test that just returns the passed in block.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Shvachko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12966009#action_12966009 ]
Konstantin Shvachko commented on HDFS-1502:
-------------------------------------------
Your fix caused the problem with testRBWReplicas & testRWRReplicas.
You mocked {{InterDatanodeProtocol.updateReplicaUnderRecovery(oldBlock, recoveryId, newLen)}} to return the {{oldBlock}}.
But {{updateReplicaUnderRecovery()}} is supposed to update the old replica with the {{newGS=recoveryId}} and {{newLen}}.
Good thing DataNode assert caught you.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Boudnik reassigned HDFS-1502:
----------------------------------------
Assignee: Hairong Kuang
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Assignee: Hairong Kuang
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: fixTestBlockRecovery.patch, HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] [Commented] (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13022998#comment-13022998 ]
Hudson commented on HDFS-1502:
------------------------------
Integrated in Hadoop-Hdfs-22-branch #35 (See [https://builds.apache.org/hudson/job/Hadoop-Hdfs-22-branch/35/])
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Assignee: Hairong Kuang
> Priority: Minor
> Fix For: 0.22.0, 0.23.0
>
> Attachments: HDFS-1502.patch, fixTestBlockRecovery.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Assigned: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Todd Lipcon reassigned HDFS-1502:
---------------------------------
Assignee: Todd Lipcon
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Assignee: Todd Lipcon
> Priority: Minor
> Fix For: 0.22.0
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Boudnik updated HDFS-1502:
-------------------------------------
Fix Version/s: (was: Federation Branch)
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Assignee: Hairong Kuang
> Priority: Minor
> Fix For: 0.22.0, 0.23.0
>
> Attachments: fixTestBlockRecovery.patch, HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Shvachko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12966012#action_12966012 ]
Konstantin Shvachko commented on HDFS-1502:
-------------------------------------------
Oh, and there is a redundant import org.mockito.Matchers
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Boudnik resolved HDFS-1502.
--------------------------------------
Resolution: Fixed
Fix Version/s: 0.23.0
Federation Branch
Hadoop Flags: [Reviewed]
I have just committed it. Thanks Hairong!
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Assignee: Hairong Kuang
> Priority: Minor
> Fix For: Federation Branch, 0.22.0, 0.23.0
>
> Attachments: fixTestBlockRecovery.patch, HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969194#action_12969194 ]
Konstantin Boudnik commented on HDFS-1502:
------------------------------------------
This fix has been mistakenly [merged into branch-0.21|http://svn.apache.org/viewcvs?view=rev&rev=1042518]. It has been reversed.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Assignee: Hairong Kuang
> Priority: Minor
> Fix For: 0.22.0, 0.23.0
>
> Attachments: fixTestBlockRecovery.patch, HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12965965#action_12965965 ]
Konstantin Boudnik commented on HDFS-1502:
------------------------------------------
I'd suggest to commit and close NPE issue with this patch. For the failing tests we can open a separate one.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Boudnik updated HDFS-1502:
-------------------------------------
Attachment: HDFS-1502.patch
I have that patch which fixes NPE issue, but I still see two testcases failing on the assertion in the same line where NPE used to happen.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12967062#action_12967062 ]
Konstantin Boudnik commented on HDFS-1502:
------------------------------------------
{noformat}
-1 overall.
+1 @author. The patch does not contain any @author tags.
+1 tests included. The patch appears to include 3 new or modified tests.
+1 javadoc. The javadoc tool did not generate any warning messages.
+1 javac. The applied patch does not increase the total number of javac compiler warnings.
+1 findbugs. The patch does not introduce any new Findbugs warnings.
-1 release audit. The applied patch generated 97 release audit warnings (more than the trunk's current 1 warnings).
+1 system test framework. The patch passed system test framework compile.
{noformat}
97 warnings are addressed by HDFS-1511. I'm going to commit this shortly.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: fixTestBlockRecovery.patch, HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Konstantin Boudnik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12965823#action_12965823 ]
Konstantin Boudnik commented on HDFS-1502:
------------------------------------------
With the patch only these two cases testRBWReplicas & testRWRReplicas keep failing.
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: HDFS-1502.patch
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HDFS-1502) TestBlockRecovery triggers NPE in
assert
Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Todd Lipcon reassigned HDFS-1502:
---------------------------------
Assignee: (was: Todd Lipcon)
> TestBlockRecovery triggers NPE in assert
> ----------------------------------------
>
> Key: HDFS-1502
> URL: https://issues.apache.org/jira/browse/HDFS-1502
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Priority: Minor
> Fix For: 0.22.0
>
>
> {noformat}
> Testcase: testRBW_RWRReplicas took 10.333 sec
> Caused an ERROR
> null
> java.lang.NullPointerException
> at org.apache.hadoop.hdfs.server.datanode.DataNode.syncBlock(DataNode.java:1881)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testSyncReplicas(TestBlockRecovery.java:144)
> at org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRBW_RWRReplicas(TestBlockRecovery.java:305)
> {noformat}
> {noformat}
> Block reply = r.datanode.updateReplicaUnderRecovery(
> r.rInfo, recoveryId, newBlock.getNumBytes());
> assert reply.equals(newBlock) &&
> reply.getNumBytes() == newBlock.getNumBytes() :
> "Updated replica must be the same as the new block."; <----- line 1881
> {noformat}
> Not sure how reply could be null since updateReplicaUnderRecovery always returns a newly instantiated object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.