[jboss-jira] [JBoss JIRA] Resolved: (JBRULES-2912) Planner: Divide by zero exception on timeMillisSpend on a fast computer
Geoffrey De Smet (JIRA)
jira-events at lists.jboss.org
Tue Mar 1 14:43:05 EST 2011
[ https://issues.jboss.org/browse/JBRULES-2912?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
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
More information about the jboss-jira
mailing list