-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
Affects Version/s: 9.2.17, 10.2.7, 9.2.18, 9.2.19
-
18
-
Severity 3 - Minor
-
20
Issue Summary
After upgrading to Confluence 9.12.18 (and present in 9.12.19), the atlassian-confluence.log is flooded with ERROR entries every 2 minutes when the DCDP data collector job runs. The error occurs within the Atlassian Troubleshooting and Support Tools (ATST) plugin (specifically version 2.17.0) while attempting to retrieve the "Mean" attribute from certain JMX metric objects (like transactionalExecutor) that do not expose that attribute.
Steps to Reproduce
- Install or upgrade to Confluence 9.12.18 or 9.12.19.
- Ensure the Atlassian Troubleshooting and Support Tools plugin version 2.17.0 is installed and enabled.
- Wait for the Caesium scheduler to trigger the DCDP data collection job (typically every 2 minutes).
- Monitor the atlassian-confluence.log.
Expected Results
- The DCDP data collector should gracefully handle metrics that do not contain a "Mean" attribute without logging a full stack trace or ERROR level message, as these are supplemental performance insights.
Actual Results
- The atlassian-confluence.log is filled with the following error:
2026-04-16 07:27:08,131 ERROR [Caesium-1-2] [transfer.data.retriever.AbstractDcdpJmxDataRetrieverV2] lambda$retrieveAttributesForMetric$1 Error reading attribute: Mean from object: com.atlassian.confluence:type=metrics,category00=db,category01=sal,name=transactionalExecutor,tag.invokerPluginKey=com.atlassian.troubleshooting.plugin-confluence,tag.taskName=com.atlassian.troubleshooting.confluence.healthcheck.ConfluenceDatabaseService$$Lambda$7359/0x00007da5235fabe0,tag.subCategory=current,tag.statistic=duration javax.management.AttributeNotFoundException: No such attribute: Mean at java.management/com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:81) at java.management/com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:644) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:679) at com.atlassian.troubleshooting.dcdp.transfer.data.retriever.AbstractDcdpJmxDataRetrieverV2.lambda$retrieveAttributesForMetric$1(AbstractDcdpJmxDataRetrieverV2.java:92) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at com.atlassian.troubleshooting.dcdp.transfer.data.retriever.AbstractDcdpJmxDataRetrieverV2.retrieveAttributesForMetric(AbstractDcdpJmxDataRetrieverV2.java:89) at com.atlassian.troubleshooting.dcdp.transfer.data.retriever.AbstractDcdpJmxDataRetrieverV2.lambda$retrieveMetrics$0(AbstractDcdpJmxDataRetrieverV2.java:71) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at com.atlassian.troubleshooting.dcdp.transfer.data.retriever.AbstractDcdpJmxDataRetrieverV2.retrieveMetrics(AbstractDcdpJmxDataRetrieverV2.java:66) at com.atlassian.troubleshooting.dcdp.transfer.data.collector.DcdpDataCollector.lambda$collectData$3(DcdpDataCollector.java:96) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at com.atlassian.troubleshooting.dcdp.transfer.data.collector.DcdpDataCollector.collectData(DcdpDataCollector.java:79) at com.atlassian.troubleshooting.dcdp.transfer.data.collector.DcdpDataCollector.collectMultiplePerBatchData(DcdpDataCollector.java:49) at com.atlassian.troubleshooting.dcdp.job.DcdpDataCollectionJob.runJob(DcdpDataCollectionJob.java:52) at com.atlassian.confluence.impl.schedule.caesium.JobRunnerWrapper.doRunJob(JobRunnerWrapper.java:121) at com.atlassian.confluence.impl.schedule.caesium.JobRunnerWrapper.runJob(JobRunnerWrapper.java:83) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService$JobRunnerWithStats.runJob(CaesiumSchedulerService.java:787) at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:145) at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:117) at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:99) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:578) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeLocalJobWithRetryOnFailure(CaesiumSchedulerService.java:533) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:461) at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:66) at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:60) at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35) at java.base/java.lang.Thread.run(Thread.java:840)
Affected versions of the ATST (Atlassian Troubleshooting & Support Tools) plugin are 2.17.0 and 3.10.0
| ATST version | Status | Notes |
|---|---|---|
| 2.14.0 | Bundled with Confluence 9.2.17 | |
| 2.15.0 | Bundled with Confluence 9.2.19 | |
| 2.17.0 | ||
| 3.5.1 | Bundled with Confluence 10.2.0, 10.2.1, 10.2.2 | |
| 3.6.0 | ||
| 3.6.1 | Bundled with Confluence 10.2.3, 10.2.6 | |
| 3.7.0 | Bundled with Confluence 10.2.7 | |
| 3.8.0 | Bundled with Confluence 10.2.10 | |
| 3.10.0 |
Workaround
To suppress the error messages:
Via "Logging and Profiling"(temporary)
- Go to General Configuration → Logging and Profiling
- Add "com.atlassian.troubleshooting.dcdp" to the list via the text box under "Add New Entry"
- Set logging level to "FATAL"
- Click on "Add Entry"
- Click "Save" (bottom of the "Logging and Profiling" page)
- Refer Configuring Logging documentation for more details regarding logging configuration in Confluence
Via "log4j.properties" file(permanent)
- Open up the /confluence/WEB-INF/classes/log4j.properties file
- Add the following line to the file:
log4j.logger.com.atlassian.troubleshooting.dcdp=FATAL
- Save the file
- Apply the same changes to the rest of the nodes
- Perform a rolling Confluence restart