Details
-
Bug
-
Resolution: Fixed
-
Low
-
8.10.0, 8.11.0
-
8.1
-
8
-
Severity 3 - Minor
-
5
-
Description
Issue Summary
Frequent warnings are being logged when DefaultIssueIndexer is provided with an empty list of issues to reindex.
DevStatus plugin calls DefaultIssueIndexer when there are no issues to replicate, causing a high number or WARN messages.
This extra logging started after the upgrade to Jira 8.10.0 from Jira 7.6.6.
The messages are triggered under two different conditions:
1) From DevStatus ServiceRunner:
2020-07-21 03:19:11,819+0000 devstatus.applink:thread-4 WARN ServiceRunner [c.a.j.issue.index.DefaultIssueIndexer] No issues to replicate: numberOfCommentsToReplicate: 0, numberOfWorklogsToReplicate: 0, issueIndexingParams: {indexIssues=true, indexChangeHistory=true, indexComments=false, indexWorklogs=false, forceReloadFromDatabase=true} java.lang.Throwable at com.atlassian.jira.issue.index.DefaultIssueIndexer$IssuesOperation.close(DefaultIssueIndexer.java:837) at com.atlassian.jira.issue.index.DefaultIssueIndexer.perform(DefaultIssueIndexer.java:442) at com.atlassian.jira.issue.index.DefaultIssueIndexer.reindexIssues(DefaultIssueIndexer.java:259) at com.atlassian.jira.issue.index.DefaultIndexManager.lambda$reIndexIssues$5(DefaultIndexManager.java:618) at com.atlassian.jira.issue.index.DefaultIndexManager.executeWithIndexLock(DefaultIndexManager.java:825) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:618) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:597) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:454) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssueObjects(DefaultIndexManager.java:480) [...] at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:38) [...] com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) [...] at com.sun.proxy.$Proxy3485.reIndexIssueObjects(Unknown Source) at com.atlassian.jira.plugin.devstatus.provider.source.cache.DevSummaryStore.doReIndex(DevSummaryStore.java:112) at com.atlassian.jira.plugin.devstatus.provider.source.cache.DevSummaryStore.lambda$reIndex$0(DevSummaryStore.java:104) at com.atlassian.jira.util.thread.JiraThreadLocalUtils.lambda$wrap$1(JiraThreadLocalUtils.java:156) at com.atlassian.jira.plugin.devstatus.provider.source.cache.DevSummaryStore.reIndex(DevSummaryStore.java:104) at com.atlassian.jira.plugin.devstatus.provider.source.cache.CachingProviderDecorator$StoreValueInCache.apply(CachingProviderDecorator.java:336) at com.atlassian.jira.plugin.devstatus.provider.source.cache.CachingProviderDecorator.lambda$fetchSummaryData$1(CachingProviderDecorator.java:231) [...]
2) When a user is editing an issue ISSUE-34744
- Multiple warnings (at the use case, 271 warnings during 22 minutes) for the User request to /browse/ISSUE-34744:
2020-07-20 11:23:15,338+0000 devstatus.applink:thread-2 WARN xxxxx 1215x1076x2 yyyyy 999.99.999.9,888.88.888.0 /browse/ISSUE-34744 [c.a.j.issue.index.DefaultIssueIndexer] No issues to replicate: numberOfCommentsToReplicate: 0, numberOfWorklogsToReplicate: 0, issueIndexingParams: {indexIssues=true, indexChangeHistory=true, indexComments=false, indexWorklogs=false, forceReloadFromDatabase=true} java.lang.Throwable at com.atlassian.jira.issue.index.DefaultIssueIndexer$IssuesOperation.close(DefaultIssueIndexer.java:837) at com.atlassian.jira.issue.index.DefaultIssueIndexer.perform(DefaultIssueIndexer.java:442) at com.atlassian.jira.issue.index.DefaultIssueIndexer.reindexIssues(DefaultIssueIndexer.java:259) at com.atlassian.jira.issue.index.DefaultIndexManager.lambda$reIndexIssues$5(DefaultIndexManager.java:618) at com.atlassian.jira.issue.index.DefaultIndexManager.executeWithIndexLock(DefaultIndexManager.java:825) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:618) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:597) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:454) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssueObjects(DefaultIndexManager.java:480) [...] at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:38) [...] at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) [...] at com.sun.proxy.$Proxy3488.reIndexIssueObjects(Unknown Source) at com.atlassian.jira.plugin.devstatus.provider.source.cache.DevSummaryStore.doReIndex(DevSummaryStore.java:112) at com.atlassian.jira.plugin.devstatus.provider.source.cache.DevSummaryStore.lambda$reIndex$0(DevSummaryStore.java:104) at com.atlassian.jira.util.thread.JiraThreadLocalUtils.lambda$wrap$1(JiraThreadLocalUtils.java:156) at com.atlassian.jira.plugin.devstatus.provider.source.cache.DevSummaryStore.reIndex(DevSummaryStore.java:104) at com.atlassian.jira.plugin.devstatus.provider.source.cache.CachingProviderDecorator$StoreValueInCache.apply(CachingProviderDecorator.java:336) at com.atlassian.jira.plugin.devstatus.provider.source.cache.CachingProviderDecorator.lambda$fetchSummaryData$1(CachingProviderDecorator.java:231) [...] com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.afterRanInterruptibly(TrustedListenableFutureTask.java:131) [...]
Steps to Reproduce
DoS team was able to reproduce this issue by programmatically providing an empty list to DefaultIssueIndexer.
Expected Results
No additional logging
Actual Results
High number of warning messages being logged:
2020-07-21 03:19:11,819+0000 devstatus.applink:thread-4 WARN ServiceRunner [c.a.j.issue.index.DefaultIssueIndexer] No issues to replicate: numberOfCommentsToReplicate: 0, numberOfWorklogsToReplicate: 0, issueIndexingParams: {indexIssues=true, indexChangeHistory=true, indexComments=false, indexWorklogs=false, forceReloadFromDatabase=true} java.lang.Throwable
Workaround
- Modify the log4j.properties file:
- Change the log level to ERROR:
log4j.logger.com.atlassian.jira.issue.index.DefaultIssueIndexer = ERROR, filelog log4j.com.atlassian.jira.issue.index.DefaultIssueIndexer = false