We have been using a dynatrace agent with our Confluence server for the past three years for monitoring our JVM. It attaches via the JVM -agentpath argument. We recently upgraded from Confluence 5.8 to Confluence 5.10. The upgrade went fine but Confluence regressed. Searches worked fine but all page views failed (with HTTP "Page Not Found" errors). After much muddling we root caused to our Dynatrace agent (removing agent cleared all symptoms).
We are running Confluence on 64-bit Windows as a Windows service.
To re-iterate:
- Our Dynatrace setup with Confluence 5.8 and earlier works fine
- the agent is configured via Java Options key in the Windows registry
- With Confluence 5.10, the Dynatrace agent works fine, but Confluence throws errors when users view pages
Has anyone else run into compatibility problems between Confluence 5.9+ and Dynatrace?
The specific conflict appears to lie with the com.atlassian.confluence.pages.actions.PageAwareInterceptor class in Confluence. Anytime we attempt to view a page in Confluence, we get an error like this:
2017-03-07 12:08:08,370 ERROR [http-bio-443-exec-18] [[Standalone].[localhost].[/].[action]] log Servlet.service() for servlet action threw exception
-- referer: https://confluencedev.nordstrom.net/dosearchsite.action?cql=lastmodified+%3E%3D+%222014-05-01%22+and+lastmodified+%3C%3D+%222017-03-07%22+and+type+%3D+%22page%22 | url: /display/TDS/NPS+Consumer+Reference+Links | traceId: 20b87a6f46e04a7b | userName: X0OX
java.lang.IllegalAccessError:
at com.atlassian.confluence.pages.actions.PageAwareInterceptor$$dtt.dt_41_intercept_61(Unknown Source)
at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:50)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.spaces.actions.SpaceAwareInterceptor.intercept(SpaceAwareInterceptor.java:71)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.security.interceptors.ConfluenceAccessInterceptor.intercept(ConfluenceAccessInterceptor.java:31)