SAML SingleSignOn for JIRA, Confluence and Bitbucket has been tested in Datacenter environments and is fully supported.


There are some known issues in the Datacenter editions with plugins in general, where in rare cases there can be Issues after a plugin has been disabled & re-enabled or upgraded.

These issues can also affect our plugin, hence we generally recommend restarting the cluster nodes after the plugin has been upgraded or disabled and re-enabled. If you don't want to do that please watch out for error messages like those shown below:


Exceptions like this could occur in the logs of the other cluster nodes when saving the configuration:

2017-09-07 12:44:48,067 ClusterMessageHandlerServiceThread:thread-1 ERROR      [c.a.jira.cluster.OfBizMessageHandlerService] There was a problem handling a cluster message
org.eclipse.gemini.blueprint.service.importer.ServiceProxyDestroyedException: service proxy has been destroyed
	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceDynamicInterceptor$ServiceLookUpCallback.doWithRetry(ServiceDynamicInterceptor.java:102)
	at org.eclipse.gemini.blueprint.service.importer.support.internal.support.RetryTemplate.execute(RetryTemplate.java:81)
	[...]

CODE

In this case, changes in the plugin's configuration are not propagated correctly.

Exceptions like this could occur on any cluster node after re-enabling the plugin:

017-09-07 12:51:10,250 http-nio-8080-exec-24 ERROR aduser12 771x1592x1 4t1zj3 93.186.12.61,172.31.5.238 /plugins/servlet/samlsso/logout [c.r.a.s.tracker.activeobjects.AuthenticationTrackerActiveObjectsProxy] Tracker Operation Failed!
org.eclipse.gemini.blueprint.service.importer.ServiceProxyDestroyedException: service proxy has been destroyed
	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceDynamicInterceptor$ServiceLookUpCallback.doWithRetry(ServiceDynamicInterceptor.java:102)
[...]
Proxy.java:208)
	at com.sun.proxy.$Proxy2821.executeInTransaction(Unknown Source)
	at com.resolution.atlasplugins.samlsso.tracker.activeobjects.AuthenticationTrackerActiveObjectsProxy.setStatus(AuthenticationTrackerActiveObjectsProxy.java:71)
[...]
CODE


These problems seem to be caused by the OSGI-framework where the service-proxy-components are not torn down and reloaded correctly. Restarting the node solves this.