[
https://issues.apache.org/jira/browse/HDDS-1822?focusedWorklogId=279114&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-279114
]
ASF GitHub Bot logged work on HDDS-1822:
----------------------------------------
Author: ASF GitHub Bot
Created on: 18/Jul/19 16:29
Start Date: 18/Jul/19 16:29
Worklog Time Spent: 10m
Work Description: xiaoyuyao commented on pull request #1120: HDDS-1822.
NPE in SCMCommonPolicy.chooseDatanodes
URL: https://github.com/apache/hadoop/pull/1120#discussion_r305009712
##########
File path:
hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestContainerPlacementFactory.java
##########
@@ -75,50 +69,25 @@ public void setup() {
// Totally 3 racks, each has 5 datanodes
DatanodeDetails node = TestUtils.createDatanodeDetails(
hostname + i, rack + (i / 5));
- datanodes.add(node);
cluster.add(node);
}
// create mock node manager
- nodeManager = Mockito.mock(NodeManager.class);
- when(nodeManager.getNodes(NodeState.HEALTHY))
- .thenReturn(new ArrayList<>(datanodes));
- when(nodeManager.getNodeStat(anyObject()))
- .thenReturn(new SCMNodeMetric(storageCapacity, 0L, 100L));
- when(nodeManager.getNodeStat(datanodes.get(2)))
- .thenReturn(new SCMNodeMetric(storageCapacity, 90L, 10L));
- when(nodeManager.getNodeStat(datanodes.get(3)))
- .thenReturn(new SCMNodeMetric(storageCapacity, 80L, 20L));
- when(nodeManager.getNodeStat(datanodes.get(4)))
- .thenReturn(new SCMNodeMetric(storageCapacity, 70L, 30L));
- }
-
+ NodeManager nodeManager = Mockito.mock(NodeManager.class);
- @Test
- public void testDefaultPolicy() throws IOException {
ContainerPlacementPolicy policy = ContainerPlacementPolicyFactory
.getPolicy(conf, nodeManager, cluster, true);
-
Review comment:
Thanks for reporting and fixing this. The fix LGTM. Can we move the
rackaware test case into a separate test with policy class specified explicitly
instead of removing them?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 279114)
Time Spent: 1h (was: 50m)
> NPE in SCMCommonPolicy.chooseDatanodes
> --------------------------------------
>
> Key: HDDS-1822
> URL: https://issues.apache.org/jira/browse/HDDS-1822
> Project: Hadoop Distributed Data Store
> Issue Type: Bug
> Components: SCM
> Affects Versions: 0.4.0
> Reporter: Mukul Kumar Singh
> Assignee: Doroszlai, Attila
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Exception is in SCMCommonPolicy.chooseDatanodes
> {code}
> java.lang.NullPointerException
> at java.util.Objects.requireNonNull(Objects.java:203)
> at java.util.ArrayList.removeAll(ArrayList.java:693)
> at
> org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMCommonPolicy.chooseDatanodes(SCMCommonPolicy.java:112)
> at
> org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRandom.chooseDatanodes(SCMContainerPlacementRandom.java:74)
> at
> org.apache.hadoop.hdds.scm.container.placement.algorithms.TestContainerPlacementFactory.testDefaultPolicy(TestContainerPlacementFactory.java:104)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
> at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
> at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
> at
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
> at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
> {code}
> cc : [~xyao] [~Sammi]
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]