Confluence 9.1 release is available now

With the release of Confluence 9.1.0 we are feeling a little bit more nudged towards moving our acceptance tests to Selenium 3. :grinning:

Unfortunately our migration does not run as smooth as we expected. We get errors complaining about injection issues with some Google lib.

I tried to look deeper into this yesterday, but I am not sure if I get the whole picture, yet.
Could anybody please confirm that Selenium 3 is the way to go and that the following links point to the documentation to use?

  1. Selenium 3 upgrade guide
  2. Selenium 3 support in Confluence Enterprise (Post)
  3. atlassian-selenium (Bitbucket)

I am a little confused because the documentation the last link (3) points to is Atlassian Selenium Documentation and there it is stated that Selenium 2 is current and Selenium 3 is only mentioned via a heading …

If there is more documentation on writing acceptance tests with Selenium for Confluence 9.1.0, please do not hesitate to mention it … :wink:

Hey @scottohara
Thanks for confirming, happy to hear it worked. It could have have been local .m2 refresh attempts expiry in your system preventing the hit or some repo caching issue.

I am running again in an issue where I cannot create pages from more than 6 different blueprints in a single space. I have documented this in more detail already at Issue when using too many Blueprints on Confluence 9

I can reproduce this issue on 9.1.0. After creating the 7th page using different Atlassian Confluence Blueprints, I get an error:

com.opensymphony.module.propertyset.IllegalPropertyException: String exceeds 255 characters.                                                                                                                                                                                                                                                                                                                                                                        
   at com.opensymphony.module.propertyset.AbstractPropertySet.setString(AbstractPropertySet.java:365)

The property is stored with key createdBlueprints.

Can someone confirm this?

EDIT: Seems that the list of createdBlueprints is per user and site, not per user and space.

We are running in an issue with REST services that is rendered in the log files as this (essence: HK2 service reification failed for ...):

I have snipped the stack trace due to “An error occurred: Body is limited to 52000 characters; you entered 307152.”

confluence-1  | WARNING: HK2 service reification failed for [com.addonengine.addons.analytics.rest.filter.UserHasPermissionToViewSpaceAnalyticsFilter] with an exception:                                                                                                                                                                                                                                                                                                          
confluence-1  | MultiException stack 1 of 2                                                                                                                                                                                                                                                                                                                                                                                                                                        
confluence-1  | java.lang.NoSuchMethodException: Could not find a suitable constructor in com.addonengine.addons.analytics.rest.filter.UserHasPermissionToViewSpaceAnalyticsFilter class.
confluence-1  |         at org.glassfish.jersey.inject.hk2.JerseyClassAnalyzer.getConstructor(JerseyClassAnalyzer.java:168)                                                                                                                                                                                                                                                                                                                                                        
confluence-1  |         at org.jvnet.hk2.internal.Utilities.getConstructor(Utilities.java:156)                                                                                                                                                                                                                                                                                                                                                                                     
confluence-1  |         at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:105)
confluence-1  |         at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:156)                                                                                                                                                                                                                                                                                                                                                                                   
confluence-1  |         at org.jvnet.hk2.internal.SystemDescriptor.internalReify(SystemDescriptor.java:716)                                                                                                                                                                                                                                                                                                                                                                        
confluence-1  |         at org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.java:670)                                                                                                                                                                                                                                                                                                                                                                                
confluence-1  |         at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:442)
confluence-1  |         at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2300)                                                                                                                                                                                                                                                                                                                                                                          
confluence-1  |         at org.jvnet.hk2.internal.ServiceLocatorImpl.access$1200(ServiceLocatorImpl.java:106)                                                                                                                                                                                                                                                                                                                                                                      
confluence-1  |         at org.jvnet.hk2.internal.ServiceLocatorImpl$10.compute(ServiceLocatorImpl.java:1385)
confluence-1  |         at org.jvnet.hk2.internal.ServiceLocatorImpl$10.compute(ServiceLocatorImpl.java:1380)                                                                                                                                                                                                                                                                                                                                                                      
confluence-1  |         at org.glassfish.hk2.utilities.cache.internal.WeakCARCacheImpl.compute(WeakCARCacheImpl.java:105)                                                                                                                                                                                                                                                                                                                                                          
confluence-1  |         at 

<... snip ...>

confluence-1  |         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)                                                                                                                                                                                                                                                                                                                                                                         
confluence-1  |         at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
confluence-1  |         at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)                                                                                                                                                                                                                                                                                                                                                               
confluence-1  |         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)                                                                                                                                                                                                                                                                                                                                                                      
confluence-1  |         at java.base/java.lang.Thread.run(Thread.java:840)
confluence-1  | MultiException stack 2 of 2                                                                                                                                                                                                                                                                                                                                                                                                                                        
confluence-1  | java.lang.IllegalArgumentException: Errors were discovered while reifying SystemDescriptor(                                                                                                                                                                                                                                                                                                                                                                        
confluence-1  |         implementation=com.addonengine.addons.analytics.rest.filter.UserHasPermissionToViewSpaceAnalyticsFilter
confluence-1  |         contracts={javax.ws.rs.container.ContainerRequestFilter,javax.ws.rs.container.ContainerResponseFilter}                                                                                                                                                                                                                                                                                                                                                     
confluence-1  |         scope=javax.inject.Singleton                                                                                                                                                                                                                                                                                                                                                                                                                               
confluence-1  |         qualifiers={org.glassfish.jersey.internal.inject.Custom}
confluence-1  |         descriptorType=CLASS                                                                                                                                                                                                                                                                                                                                                                                                                                       
confluence-1  |         descriptorVisibility=NORMAL                                                                                                                                                                                                                                                                                                                                                                                                                                
confluence-1  |         metadata=
confluence-1  |         rank=0                                                                                                                                                                                                                                                                                                                                                                                                                                                     
confluence-1  |         loader=null                                                                                                                                                                                                                                                                                                                                                                                                                                                
confluence-1  |         proxiable=null
confluence-1  |         proxyForSameScope=null                                                                                                                                                                                                                                                                                                                                                                                                                                     
confluence-1  |         analysisName=null                                                                                                                                                                                                                                                                                                                                                                                                                                          
confluence-1  |         id=220
confluence-1  |         locatorId=41                                                                                                                                                                                                                                                                                                                                                                                                                                               
confluence-1  |         identityHashCode=881808534                                                                                                                                                                                                                                                                                                                                                                                                                                 
confluence-1  |         reified=false)
confluence-1  |         at org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.java:681)                                                                                                                                                                                                                                                                                                                                                                                
confluence-1  |         at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:442)                                                                                                                                                                                                                                                                                                                                                                  
confluence-1  |         at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2300)

<... snip ...>

confluence-1  |         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)                                                                                                                                                                                                                                                                                                                                                                            
confluence-1  |         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
confluence-1  |         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)                                                                                                                                                                                                                                                                                                                                                                             
confluence-1  |         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:383)                                                                                                                                                                                                                                                                                                                                                                              
confluence-1  |         at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)                                                                                                                                                                                                                                                                                                                                                                        
confluence-1  |         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:936)
confluence-1  |         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)                                                                                                                                                                                                                                                                                                                                                                     
confluence-1  |         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)                                                                                                                                                                                                                                                                                                                                                                         
confluence-1  |         at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
confluence-1  |         at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)                                                                                                                                                                                                                                                                                                                                                               
confluence-1  |         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)                                                                                                                                                                                                                                                                                                                                                                      
confluence-1  |         at java.base/java.lang.Thread.run(Thread.java:840)

The reason I mention this is because it has nothing to do with our app. I can reproduce the issue simply by starting and installing a new Confluence server in a container, install the REST API Browser and let it show me the private API services via the UI.

When I shutdown the server after its installation and do the same procedure, I do get a lot of stack traces, but not the one shown above.

Why do I post such a silly question? I get the issue also when I deploy our app and I have read MarekTokarski’s answer to this question Platform 7 upgrade in progress: Learn about the first highlights and changes - #64 by ashraf.teleb85 that this may be related to:

Based on the error message I suspect the resource lack @Inject annotation that is required on REST v2 resources.

As I am using Spring Java Config this brings me back to my question I posted about a month ago: REST Services on Platform 7 / Confluence 9. I am somewhat convinced that the user who posted the question Marek answered is also using Spring Java Config, due to his post here: Preparing for Confluence 9.0 - EAP out now - #109 by ashraf.teleb85.

So my question boils down to this:

  1. If I am using Spring Java Config do I need to add @Inject annotations for REST services?
  2. Do I need to declare REST Services via Spring Java Config (I assume yes) and do I need to export it (I assume no) or is it sufficient to declar the services via the atlassian-plugin.xml?
    3.Is there some documentation I have missed?

Thank you in advance! :grinning:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.