Confluence JMX metrics collection (DCDP) logs frequent AttributeNotFoundException: No such attribute: Mean

XMLWordPrintable

    • 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

      1. Install or upgrade to Confluence 9.12.18 or 9.12.19.
      2. Ensure the Atlassian Troubleshooting and Support Tools plugin version 2.17.0 is installed and enabled.
      3. Wait for the Caesium scheduler to trigger the DCDP data collection job (typically every 2 minutes).
      4. 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 No issue Bundled with Confluence 9.2.17
      2.15.0 No issue Bundled with Confluence 9.2.19
      2.17.0 Affected  
      3.5.1 No issue Bundled with Confluence 10.2.0, 10.2.1, 10.2.2
      3.6.0 No issue  
      3.6.1 No issue Bundled with Confluence 10.2.3, 10.2.6
      3.7.0 No issue Bundled with Confluence 10.2.7
      3.8.0 No issue Bundled with Confluence 10.2.10
      3.10.0 Affected  

      Workaround

      To suppress the error messages:
      Via "Logging and Profiling"(temporary)

      1. Go to General Configuration → Logging and Profiling
      2. Add "com.atlassian.troubleshooting.dcdp" to the list via the text box under "Add New Entry"
      3. Set logging level to "FATAL"
      4. Click on "Add Entry"
      5. Click "Save" (bottom of the "Logging and Profiling" page)
      6. Refer Configuring Logging documentation for more details regarding logging configuration in Confluence

      Via "log4j.properties" file(permanent)

      1. Open up the /confluence/WEB-INF/classes/log4j.properties file
      2. Add the following line to the file:
        log4j.logger.com.atlassian.troubleshooting.dcdp=FATAL 
        
      1. Save the file
      2. Apply the same changes to the rest of the nodes
      3. Perform a rolling Confluence restart

              Assignee:
              Harippriya Sivapatham
              Reporter:
              Naveen Ravi
              Votes:
              9 Vote for this issue
              Watchers:
              15 Start watching this issue

                Created:
                Updated:

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m