Bipin Prasad created STORM-3764:
-----------------------------------
Summary: While backtracking only remove the ackers that were
skipped
Key: STORM-3764
URL: https://issues.apache.org/jira/browse/STORM-3764
Project: Apache Storm
Issue Type: Improvement
Components: storm-server
Reporter: Bipin Prasad
Assignee: Bipin Prasad
While backtracking in scheduling code, Ackers are skipped. However at the end
of this step all ackers on the workerslot are removed. This removal should be
limited to only the Ackers that were skipped in
SchedulingSearcherState.backtrack(). Otherwise, the next immediate backtrack()
call can result in an NPE:
{code}
2021-03-30 15:27:03.212 o.a.s.s.r.ResourceAwareScheduler timer [ERROR]
mx3_test-5-1614799784 Internal Error - Exception thrown when scheduling. Please
check logs for details java.util.concurrent.ExecutionException:
java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
~[?:1.8.0_262]
at java.util.concurrent.FutureTask.get(FutureTask.java:206) ~[?:1.8.0_262]
at
org.apache.storm.scheduler.resource.ResourceAwareScheduler.scheduleTopology(ResourceAwareScheduler.java:191)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.scheduler.resource.ResourceAwareScheduler.schedule(ResourceAwareScheduler.java:132)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.scheduler.blacklist.BlacklistScheduler.schedule(BlacklistScheduler.java:131)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.daemon.nimbus.Nimbus.computeNewSchedulerAssignments(Nimbus.java:2314)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.daemon.nimbus.Nimbus.lambda$lockingMkAssignments$44(Nimbus.java:2493)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at org.apache.storm.daemon.nimbus.Nimbus.executeWithLock(Nimbus.java:4549)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.daemon.nimbus.Nimbus.lockingMkAssignments(Nimbus.java:2491)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at org.apache.storm.daemon.nimbus.Nimbus.mkAssignments(Nimbus.java:2478)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at org.apache.storm.daemon.nimbus.Nimbus.mkAssignments(Nimbus.java:2415)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.daemon.nimbus.Nimbus.lambda$launchServer$17(Nimbus.java:1420)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at org.apache.storm.StormTimer$1.run(StormTimer.java:110)
[storm-client-2.3.0.y.jar:2.3.0.y]
at org.apache.storm.StormTimer$StormTimerTask.run(StormTimer.java:226)
[storm-client-2.3.0.y.jar:2.3.0.y]
Caused by: java.lang.NullPointerException
at
org.apache.storm.scheduler.resource.strategies.scheduling.SchedulingSearcherState.backtrack(SchedulingSearcherState.java:292)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.scheduler.resource.strategies.scheduling.BaseResourceAwareStrategy.scheduleExecutorsOnNodes(BaseResourceAwareStrategy.java:559)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.scheduler.resource.strategies.scheduling.BaseResourceAwareStrategy.schedule(BaseResourceAwareStrategy.java:172)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at
org.apache.storm.scheduler.resource.ResourceAwareScheduler.lambda$scheduleTopology$1(ResourceAwareScheduler.java:189)
~[storm-server-2.3.0.y.jar:2.3.0.y]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_262]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
~[?:1.8.0_262]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
~[?:1.8.0_262]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_262]
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)