-
Bug
-
Resolution: Done
-
Major
-
7.9.0.Final
-
None
-
None
-
2018 Week 30-32, 2018 Week 33-35
-
3
-
NEW
-
NEW
I tried the new Multithreaded Incremental Solving in a working project and this error is thrown:
java.lang.IllegalStateException: The move thread with moveThreadIndex (3) has thrown an exception. Relayed here in the parent thread. at org.optaplanner.core.impl.heuristic.thread.OrderByMoveIndexBlockingQueue.take(OrderByMoveIndexBlockingQueue.java:142) at org.optaplanner.core.impl.constructionheuristic.decider.MultiThreadedConstructionHeuristicDecider.forageResult(MultiThreadedConstructionHeuristicDecider.java:185) at org.optaplanner.core.impl.constructionheuristic.decider.MultiThreadedConstructionHeuristicDecider.decideNextStep(MultiThreadedConstructionHeuristicDecider.java:155) at org.optaplanner.core.impl.constructionheuristic.DefaultConstructionHeuristicPhase.solve(DefaultConstructionHeuristicPhase.java:74) at org.optaplanner.core.impl.solver.AbstractSolver.runPhases(AbstractSolver.java:87) at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:191) Caused by: java.lang.IllegalArgumentException: The externalObject (X) cannot be looked up. Maybe give the class (class X) a PlanningId annotation or change the PlanningSolution annotation's LookUpStrategyType or don't rely on functionality that depends on ScoreDirector.lookUpWorkingObject(). at org.optaplanner.core.impl.domain.lookup.NoneLookUpStrategy.lookUpWorkingObject(NoneLookUpStrategy.java:47) at org.optaplanner.core.impl.domain.lookup.LookUpManager.lookUpWorkingObject(LookUpManager.java:74) at org.optaplanner.core.impl.score.director.AbstractScoreDirector.lookUpWorkingObject(AbstractScoreDirector.java:498) at org.optaplanner.core.impl.heuristic.selector.move.generic.chained.ChainedChangeMove.rebase(ChainedChangeMove.java:76) at org.optaplanner.core.impl.heuristic.selector.move.generic.chained.ChainedChangeMove.rebase(ChainedChangeMove.java:30) at org.optaplanner.core.impl.heuristic.thread.MoveThreadRunner.run(MoveThreadRunner.java:136) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
I would like to confirm if this is a bug or if an additional setup is needed in order to enable the feature.
Thanks