Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-77560

Analytics threads are running even though analytics is disabled

    XMLWordPrintable

Details

    Description

      Issue Summary

      When disabling analytics through Admin > System > Analytics, we still see analytics messages flowing.

      Steps to Reproduce

      1. Go to Admin > System > Analytics and disable the analytics
      2. Observe the jirahome/log/atlassian-jira.logs

      Expected Results

      No message related to analytics.

      Actual Results

      Analytics events are still there. In this example, we see a failure to send, but you may also see success ones. 

      analyticsEventProcessor:thread-1 ERROR anonymous     [c.a.a.client.pipeline.DefaultAnalyticsPipeline] Failed to send analytics event com.atlassian.analytics.api.events.MauEvent@xxxxxx
      com.atlassian.cache.CacheException: io.atlassian.util.concurrent.LazyReference$InitializationException: javax.xml.stream.FactoryConfigurationError: Provider for class javax.xml.stream.XMLInputFactory cannot be created
      	at com.atlassian.cache.memory.DelegatingCache.get(DelegatingCache.java:214)
      	at com.atlassian.cache.memory.DelegatingCache.get(DelegatingCache.java:165)
      	at com.atlassian.cache.impl.metrics.InstrumentedCache.get(InstrumentedCache.java:72)
      	at com.atlassian.analytics.client.pipeline.serialize.properties.extractors.mau.MauService.hashEmailPropertyForMauEvent(MauService.java:44)
      	at com.atlassian.analytics.client.pipeline.serialize.properties.extractors.mau.MauAwarePropertyExtractor.getEventPropertiesWithHashedEmail(MauAwarePropertyExtractor.java:19)
      	at com.atlassian.analytics.client.pipeline.serialize.properties.MauAwareExtractorSupplier.oldDelayed(MauAwareExtractorSupplier.java:64)
      	at com.atlassian.analytics.client.pipeline.serialize.properties.ExtractionSupplier.lambda$createTimedSupplier$0(ExtractionSupplier.java:23)
      	at com.atlassian.analytics.client.pipeline.DefaultAnalyticsPipeline.lambda$createTask$0(DefaultAnalyticsPipeline.java:93)
      	at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      Caused by: io.atlassian.util.concurrent.LazyReference$InitializationException: javax.xml.stream.FactoryConfigurationError: Provider for class javax.xml.stream.XMLInputFactory cannot be created
      	at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:156)
      	at io.atlassian.util.concurrent.LazyReference.get(LazyReference.java:116)
      	...
      	at com.google.common.cache.LocalCache.get(LocalCache.java:4012)
      	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4920)
      	at com.atlassian.cache.memory.DelegatingCache.get(DelegatingCache.java:180)
      	... 13 more
      Caused by: javax.xml.stream.FactoryConfigurationError: Provider for class javax.xml.stream.XMLInputFactory cannot be created
      	at java.xml/javax.xml.stream.FactoryFinder.findServiceProvider(FactoryFinder.java:366)
      	at java.xml/javax.xml.stream.FactoryFinder.find(FactoryFinder.java:309)
      	at java.xml/javax.xml.stream.FactoryFinder.find(FactoryFinder.java:222)
      	at java.xml/javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:161)
          ...
      	at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:150)
      	... 30 more
      Caused by: java.lang.RuntimeException: Provider for class javax.xml.stream.XMLInputFactory cannot be created
      	at java.xml/javax.xml.stream.FactoryFinder.findServiceProvider(FactoryFinder.java:363)
      	... 69 more
      Caused by: java.util.ServiceConfigurationError: javax.xml.stream.XMLInputFactory: Provider com.ctc.wstx.stax.WstxInputFactory not found
      	at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:589)
      	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1212)
      	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1265)
      	at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1300)
      	at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1385)
      	at java.xml/javax.xml.stream.FactoryFinder$1.run(FactoryFinder.java:348)
      	at java.base/java.security.AccessController.doPrivileged(Native Method)
      	at java.xml/javax.xml.stream.FactoryFinder.findServiceProvider(FactoryFinder.java:337)
      	... 69 more
      

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

       
      Through bugs such as JRASERVER-70086, we have instructions to disable analytics completely (through Admin > System >analytics and disable the 3 analytics plugin), but this affects JSM directly - please don't use this if you have JSM in your instance.

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              b99328de92bd Douglas Alves
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Backbone Issue Sync