[
https://issues.jboss.org/browse/JBRULES-2912?page=com.atlassian.jira.plug...
]
Geoffrey De Smet resolved JBRULES-2912.
---------------------------------------
Resolution: Done
Nicely found :) Fixed on master like this:
long averageCalculateCountPerSecond = (timeMillisSpend == 0L) ? 0L
: localSearchSolverScope.getCalculateCount() * 1000L / timeMillisSpend;
Not a 100% sure that 0 makes sense in that case, wdyt?
Planner: Divide by zero exception on timeMillisSpend on a fast
computer
-----------------------------------------------------------------------
Key: JBRULES-2912
URL:
https://issues.jboss.org/browse/JBRULES-2912
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-planner
Affects Versions: 5.1.1.FINAL
Environment: Windows, Intel desktop-class, Java6 (bug is not
environment-specific)
Reporter: David Faulkner
Assignee: Geoffrey De Smet
Labels: bug
Fix For: 5.2.0.M2
In org.drools.planner.core.localsearch.DefaultLocalSearchSolver::solvingEnded, there is
potentially a divide by zero that occurs on the line:
long averageCalculateCountPerSecond = localSearchSolverScope.getCalculateCount() * 1000L
/ timeMillisSpend;
if timeMillisSpend is zero. Although in theory the likelihood of this occurring in
practically nothing, we have actually seen it occur on a POC project with long running
Planner jobs. An appropriate guard should be added to this calculation to ensure that this
error cannot occur.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira