Fisheye/Crucible Analytics Client Plugin can't be enabled
プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。
このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
要約
The Fisheye/Crucible Analytics Client Plugin can't be enabled.
While this is not a serious issue as the client plugin collects analytics data and is not important to the application, there is a bug with a dependency on the analytics client plugin that does affect normal operations:
FE-7405 - Getting issue details... STATUS
環境
Fisheye/Crucible 4.8.10
診断
The plugin can't be enabled and the following is logged in atlassian-fisheye-<date>.log
2024-03-20 04:28:14,025 ERROR [ThreadPoolAsyncTaskExecutor::Thread 19 ] com.atlassian.plugin.osgi.factory.OsgiPlugin OsgiPlugin-onPluginContainerFailed - Unable to start the plugin container for plugin 'com.atlassian.analytics.analytics-client'
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productEventListener' defined in URL [bundle://2.0:0/META-INF/spring/atlassian-plugins-components.xml]: Unsatisfied dependency expressed through constructor argument with index 4 of type [com.atlassian.analytics.client.logger.AnalyticsLogger]: Error creating bean with name 'analyticsLogger' defined in URL [bundle://2.0:0/META-INF/spring/atlassian-plugins-components.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Constructor threw exception; nested exception is java.lang.NullPointerException; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'analyticsLogger' defined in URL [bundle://2.0:0/META-INF/spring/atlassian-plugins-components.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Constructor threw exception; nested exception is java.lang.NullPointerException
...
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'analyticsLogger' defined in URL [bundle://2.0:0/META-INF/spring/atlassian-plugins-components.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Constructor threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:275) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1143) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
... 19 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Constructor threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:122) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:267) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
... 32 more
Caused by: java.lang.NullPointerException
at uk.org.simonsite.log4j.helpers.FileHelper.isReadable(FileHelper.java:115) [?:?]
at uk.org.simonsite.log4j.appender.TimeBasedRoller.initNextRolloverTime(TimeBasedRoller.java:148) [?:?]
at uk.org.simonsite.log4j.appender.TimeBasedRoller.<init>(TimeBasedRoller.java:75) [?:?]
at uk.org.simonsite.log4j.appender.CompositeRoller.<init>(CompositeRoller.java:37) [?:?]
at uk.org.simonsite.log4j.appender.TimeAndSizeRollingAppender.activateOptions(TimeAndSizeRollingAppender.java:441) [?:?]
at com.atlassian.analytics.client.logger.Log4jAnalyticsLogger.initAnalyticsAppender(Log4jAnalyticsLogger.java:94) [?:?]
at com.atlassian.analytics.client.logger.Log4jAnalyticsLogger.<init>(Log4jAnalyticsLogger.java:60) [?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [?:1.8.0_402-402]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [?:1.8.0_402-402]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:1.8.0_402-402]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [?:1.8.0_402-402]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
... 34 more
原因
The analytics plugin needs to be able to read/write to the location $FISHEYE_INST/analytics_logs. If there are mixed permissions at the directory or the file content level (files owned by a user other than the one running fisheye) the plugin cannot be enabled.
ソリューション
Change ownership of the folder and all the files contained in it to the user running Fisheye.
chown -R <fisheye-user> $FISHEYE_INST/analytics-logs
Enable the Analytics Client Plugin