You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Bipin Prasad (Jira)" <ji...@apache.org> on 2021/04/02 19:14:00 UTC

[jira] [Created] (STORM-3764) While backtracking only remove the ackers that were skipped

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)