Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
4.0 Milestone 3, 4.4.4, 6.4.5, 6.4.12, 7.1.1
-
4
-
26
-
Severity 3 - Minor
-
2
-
Description
Summary
Re-indexing a JIRA Application completes successfully but throws the error message below in the logs:
java.lang.IllegalArgumentException: Remaining estimate must be a non-negative number: ...
Steps to Reproduce
- Log in as a JIRA System Administrator.
- Trigger a re-index in JIRA.
Expected Results
No errors are displayed in the logs.
Actual Results
The exceptions below are thrown in the logs:
Background Re-index
2016-03-23 10:48:49,750 JiraTaskExectionThread-4 WARN admin 648x326x1 11u20ol 0:0:0:0:0:0:0:1 /secure/admin/jira/IndexReIndex.jspa [c.a.j.i.i.indexers.impl.ProgressIndexer] Issue: 'TSP-5' has an uncalculable percentage java.lang.IllegalArgumentException: Remaining estimate must be a non-negative number: '-1234' at com.atlassian.jira.issue.fields.AbstractProgressBarSystemField.calculateProgressPercentage(AbstractProgressBarSystemField.java:100) at com.atlassian.jira.issue.index.indexers.impl.ProgressIndexer.addIndex(ProgressIndexer.java:48) at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory$Builder.add(DefaultIssueDocumentFactory.java:84) at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory$Builder.addAll(DefaultIssueDocumentFactory.java:75) at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.apply(DefaultIssueDocumentFactory.java:50) at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.apply(DefaultIssueDocumentFactory.java:30) at com.atlassian.jira.issue.index.DefaultIssueIndexer$DefaultDocumentCreationStrategy.get(DefaultIssueIndexer.java:553) at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$reindexIssues$1(DefaultIssueIndexer.java:166) at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$null$2(DefaultIssueIndexer.java:305) at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:7) at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:5) at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$perform$3(DefaultIssueIndexer.java:303) at com.atlassian.jira.issue.util.DatabaseIssuesIterable.foreach(DatabaseIssuesIterable.java:58) at com.atlassian.jira.issue.index.DefaultIssueIndexer.perform(DefaultIssueIndexer.java:282) at com.atlassian.jira.issue.index.DefaultIssueIndexer.reindexIssues(DefaultIssueIndexer.java:162) at com.atlassian.jira.issue.index.DefaultIndexManager.doBackgroundReindex(DefaultIndexManager.java:917) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:316) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssuesInBackground(DefaultIndexManager.java:386) ... 3 filtered at java.lang.reflect.Method.invoke(Method.java:497) at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:22) at com.sun.proxy.$Proxy9.reIndexIssuesInBackground(Unknown Source) at com.atlassian.jira.util.index.CompositeIndexLifecycleManager.reIndexIssuesInBackground(CompositeIndexLifecycleManager.java:103) at com.atlassian.jira.web.action.admin.index.ReIndexBackgroundIndexerCommand.doReindex(ReIndexBackgroundIndexerCommand.java:33) at com.atlassian.jira.web.action.admin.index.AbstractAsyncIndexerCommand.call(AbstractAsyncIndexerCommand.java:54) at com.atlassian.jira.web.action.admin.index.ReIndexBackgroundIndexerCommand.call(ReIndexBackgroundIndexerCommand.java:16) at com.atlassian.jira.web.action.admin.index.AbstractAsyncIndexerCommand.call(AbstractAsyncIndexerCommand.java:24) at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:453) at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:421) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at com.atlassian.jira.task.ForkedThreadExecutor$ForkedRunnableDecorator.run(ForkedThreadExecutor.java:216) at java.lang.Thread.run(Thread.java:745)
Locked Re-index
2016-03-23 10:49:04,181 IssueIndexer:thread-2 WARN admin 649x363x1 11u20ol 0:0:0:0:0:0:0:1 /secure/admin/jira/IndexReIndex.jspa [c.a.j.i.i.indexers.impl.ProgressIndexer] Issue: 'DEMO-5' has an uncalculable percentage java.lang.IllegalArgumentException: Remaining estimate must be a non-negative number: '-1234' at com.atlassian.jira.issue.fields.AbstractProgressBarSystemField.calculateProgressPercentage(AbstractProgressBarSystemField.java:100) at com.atlassian.jira.issue.index.indexers.impl.ProgressIndexer.addIndex(ProgressIndexer.java:48) at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory$Builder.add(DefaultIssueDocumentFactory.java:84) at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory$Builder.addAll(DefaultIssueDocumentFactory.java:75) at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.apply(DefaultIssueDocumentFactory.java:50) at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.apply(DefaultIssueDocumentFactory.java:30) at com.atlassian.jira.issue.index.DefaultIssueIndexer$DefaultDocumentCreationStrategy.get(DefaultIssueIndexer.java:553) at com.atlassian.jira.issue.index.DefaultIssueIndexer$IndexIssuesOperation.perform(DefaultIssueIndexer.java:377) at com.atlassian.jira.issue.index.DefaultIssueIndexer$IndexIssuesOperation.perform(DefaultIssueIndexer.java:366) at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$null$2(DefaultIssueIndexer.java:305) at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:7) at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:5) at com.atlassian.jira.index.MultiThreadedIndexingStrategy$1.call(MultiThreadedIndexingStrategy.java:33) at com.atlassian.jira.index.MultiThreadedIndexingStrategy$1.call(MultiThreadedIndexingStrategy.java:31) at com.atlassian.jira.util.concurrent.BoundedExecutor$2.call(BoundedExecutor.java:68) 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)
Workaround
Find the issue with the problem and manually edit the 'Remaining Estimate' field via the UI to a valid number (non-negative).
Using the stack trace below as an example:
- Navigate to an issue.
- Edit the Remaining Estimate value and set it to a non-negative value.