Дмитрий Филимонов ( 
https://osgeo-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A41d17751-8553-4e0c-b094-1750bfcedb14
 ) *created* an issue

GeoServer ( 
https://osgeo-org.atlassian.net/browse/GEOS?atlOrigin=eyJpIjoiZDJmY2QxMzYwYWE4NGY0NWJiZDdkMzI5M2IyOWQ5ZGUiLCJwIjoiaiJ9
 ) / Bug ( 
https://osgeo-org.atlassian.net/browse/GEOS-10612?atlOrigin=eyJpIjoiZDJmY2QxMzYwYWE4NGY0NWJiZDdkMzI5M2IyOWQ5ZGUiLCJwIjoiaiJ9
 ) GEOS-10612 ( 
https://osgeo-org.atlassian.net/browse/GEOS-10612?atlOrigin=eyJpIjoiZDJmY2QxMzYwYWE4NGY0NWJiZDdkMzI5M2IyOWQ5ZGUiLCJwIjoiaiJ9
 ) GeoServer Active cluster (JMS): changes in layer group and styles are not 
propagating to replicas ( 
https://osgeo-org.atlassian.net/browse/GEOS-10612?atlOrigin=eyJpIjoiZDJmY2QxMzYwYWE4NGY0NWJiZDdkMzI5M2IyOWQ5ZGUiLCJwIjoiaiJ9
 )

Issue Type: Bug Affects Versions: 2.18.2, 2.20.5 Assignee: Unassigned Created: 
08/Aug/22 5:15 AM Environment:

* GeoServer 2.20.5
* JMS v.2.20-SNAPSHOT
* 1 Primary:
CLUSTER_CONFIG_DIR=/var/local/geoserver/cluster/master
instanceName=master
readOnly=disabled
brokerURL=tcp\://broker\:61666
durable=false
toggleMaster=true
embeddedBroker=disabled
connection.retry=10
xbeanURL=./broker.xml
embeddedBrokerProperties=embedded-broker.properties
topicName=VirtualTopic.geoserver
connection=disabled
toggleSlave=false
connection.maxwait=500
group=geoserver-cluster

* 4 Pure-Replicas:
CLUSTER_CONFIG_DIR=/var/local/geoserver/cluster/slave1
instanceName=slave1
readOnly=enabled
brokerURL=tcp\://broker\:61666
durable=false
embeddedBroker=disabled
connection.retry=10
toggleMaster=false
xbeanURL=./broker.xml
embeddedBrokerProperties=embedded-broker.properties
topicName=VirtualTopic.geoserver
connection=enabled
toggleSlave=true
connection.maxwait=500
group=geoserver-cluster

* Instances in separate Docker containers
* Standalone ActiveMQ Broker (geoserver-2.20-SNAPSHOT-activeMQ-broker-plugin)
* Shared datadir

Priority: Medium Reporter: Дмитрий Филимонов ( 
https://osgeo-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A41d17751-8553-4e0c-b094-1750bfcedb14
 )

I try to implement an active cluster of multiple instances of GeoServer, but I 
run into a problem, when changes in layer group and styles on the primary node 
do not repeat on replicas.

Setup
-----

* GeoServer 2.20.5
* JMS v.2.20-SNAPSHOT
* 1 Primary:
CLUSTER_CONFIG_DIR=/var/local/geoserver/cluster/master
instanceName=master
readOnly=disabled
brokerURL=tcp\://broker\:61666
durable=false
toggleMaster=true
embeddedBroker=disabled
connection.retry=10
xbeanURL=./broker.xml
embeddedBrokerProperties=embedded-broker.properties
topicName=VirtualTopic.geoserver
connection=disabled
toggleSlave=false
connection.maxwait=500
group=geoserver-cluster

* 4 Pure-Replicas:
CLUSTER_CONFIG_DIR=/var/local/geoserver/cluster/slave1
instanceName=slave1
readOnly=enabled
brokerURL=tcp\://broker\:61666
durable=false
embeddedBroker=disabled
connection.retry=10
toggleMaster=false
xbeanURL=./broker.xml
embeddedBrokerProperties=embedded-broker.properties
topicName=VirtualTopic.geoserver
connection=enabled
toggleSlave=true
connection.maxwait=500
group=geoserver-cluster

* Instances in separate Docker containers.
* Standalone ActiveMQ Broker (geoserver-2.20-SNAPSHOT-activeMQ-broker-plugin)
* Shared datadir

Problem
-------

Creating, renaming or changing parameters of a layer group attached to a 
workspace or not attached does *not* propagate to a replicas:

02 Aug 08:26:07 ERROR [geoserver.cluster] - class 
org.geoserver.cluster.impl.handlers.catalog.JMSCatalogAddEventHandler is unable 
to synchronize the incoming event: 
org.geoserver.catalog.event.impl.CatalogAddEventImpl@439033e4
02 Aug 08:26:07 WARN [client.JMSContainer] - Execution of JMS message listener 
failed, and no ErrorHandler has been set.
javax.jms.JMSException: Arguments may never be null
       at 
org.geoserver.cluster.client.JMSQueueListener.onMessage(JMSQueueListener.java:161)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674)
       at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318)
       at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1186)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1176)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1073)
       at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NullPointerException: Arguments may never be null
       at 
org.geoserver.cluster.impl.handlers.catalog.CatalogUtils.localizeStyle(CatalogUtils.java:73)
       at 
org.geoserver.cluster.impl.handlers.catalog.CatalogUtils.localizeStyles(CatalogUtils.java:99)
       at 
org.geoserver.cluster.impl.handlers.catalog.CatalogUtils.localizeLayerGroup(CatalogUtils.java:253)
       at 
org.geoserver.cluster.impl.handlers.catalog.JMSCatalogAddEventHandler.add(JMSCatalogAddEventHandler.java:84)
       at 
org.geoserver.cluster.impl.handlers.catalog.JMSCatalogAddEventHandler.synchronize(JMSCatalogAddEventHandler.java:58)
       at 
org.geoserver.cluster.impl.handlers.catalog.JMSCatalogAddEventHandler.synchronize(JMSCatalogAddEventHandler.java:31)
       at 
org.geoserver.cluster.client.JMSQueueListener.onMessage(JMSQueueListener.java:155)
       ... 9 more
02 Aug 08:26:07 WARN [client.JMSContainer] - Setup of JMS message listener 
invoker failed for destination 'queue://Consumer.slave1.VirtualTopic.geoserver' 
- trying to recover. Cause: Arguments may never be null
Exception in thread "JMSContainer-6" java.lang.NullPointerException
       at org.apache.wicket.Session.isSessionInvalidated(Session.java:540)
       at 
org.geoserver.cluster.impl.web.JMSContainerHandlerExceptionListenerImpl.handleListenerSetupFailure(JMSContainerHandlerExceptionListenerImpl.java:43)
       at 
org.geoserver.cluster.client.JMSContainer.handleListenerSetupFailure(JMSContainer.java:229)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1094)
       at java.base/java.lang.Thread.run(Thread.java:829)
02 Aug 08:33:35 ERROR [geoserver.cluster] - class 
org.geoserver.cluster.impl.handlers.catalog.JMSCatalogModifyEventHandler is 
unable to synchronize the incoming event: 
org.geoserver.catalog.event.impl.CatalogModifyEventImpl@62a2effb
02 Aug 08:33:35 WARN [client.JMSContainer] - Execution of JMS message listener 
failed, and no ErrorHandler has been set.
javax.jms.JMSException: Unable to locate LayerGroupInfoImpl[group_test] named: 
group_test locally.
       at 
org.geoserver.cluster.client.JMSQueueListener.onMessage(JMSQueueListener.java:161)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674)
       at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318)
       at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1186)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1176)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1073)
       at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.geoserver.catalog.CatalogException: Unable to locate 
LayerGroupInfoImpl[group_test] named: group_test locally.
       at 
org.geoserver.cluster.impl.handlers.catalog.JMSCatalogModifyEventHandler.modify(JMSCatalogModifyEventHandler.java:110)
       at 
org.geoserver.cluster.impl.handlers.catalog.JMSCatalogModifyEventHandler.synchronize(JMSCatalogModifyEventHandler.java:64)
       at 
org.geoserver.cluster.impl.handlers.catalog.JMSCatalogModifyEventHandler.synchronize(JMSCatalogModifyEventHandler.java:40)
       at 
org.geoserver.cluster.client.JMSQueueListener.onMessage(JMSQueueListener.java:155)
       ... 9 more
02 Aug 08:33:35 WARN [client.JMSContainer] - Setup of JMS message listener 
invoker failed for destination 'queue://Consumer.slave1.VirtualTopic.geoserver' 
- trying to recover. Cause: Unable to locate LayerGroupInfoImpl[group_test] 
named: group_test locally.

Same problem happens when creating styles attached to a workspace or not 
attached but with another error:

02 Aug 08:42:01 WARN [catalog.impl] - Catalog listener threw exception handling 
event.
java.lang.NoClassDefFoundError: org/jdom2/JDOMException
       at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
       at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3166)
       at java.base/java.lang.Class.getDeclaredMethod(Class.java:2473)
       at 
com.thoughtworks.xstream.core.util.SerializationMembers.getMethod(SerializationMembers.java:183)
       at 
com.thoughtworks.xstream.core.util.SerializationMembers.getMethod(SerializationMembers.java:168)
       at 
com.thoughtworks.xstream.core.util.SerializationMembers.getRRMethod(SerializationMembers.java:199)
       at 
com.thoughtworks.xstream.core.util.SerializationMembers.callWriteReplace(SerializationMembers.java:97)
       at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:78)
       at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
       at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
       at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
       at 
com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82)
       at 
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)
       at com.thoughtworks.xstream.XStream.marshal(XStream.java:1320)
       at com.thoughtworks.xstream.XStream.marshal(XStream.java:1309)
       at com.thoughtworks.xstream.XStream.toXML(XStream.java:1282)
       at com.thoughtworks.xstream.XStream.toXML(XStream.java:1269)
       at 
org.geoserver.cluster.impl.handlers.DocumentFileHandler.serialize(DocumentFileHandler.java:39)
       at 
org.geoserver.cluster.impl.handlers.DocumentFileHandler.serialize(DocumentFileHandler.java:19)
       at org.geoserver.cluster.JMSPublisher.publish(JMSPublisher.java:63)
       at 
org.geoserver.cluster.server.JMSCatalogListener.handleAddEvent(JMSCatalogListener.java:118)
       at org.geoserver.catalog.impl.CatalogImpl.event(CatalogImpl.java:1873)
       at 
org.geoserver.catalog.impl.CatalogImpl.fireAdded(CatalogImpl.java:1826)
       at org.geoserver.catalog.impl.CatalogImpl.added(CatalogImpl.java:1804)
       at org.geoserver.catalog.impl.CatalogImpl.add(CatalogImpl.java:1625)
       at 
org.geoserver.security.SecureCatalogImpl.add(SecureCatalogImpl.java:1323)
       at 
org.geoserver.catalog.impl.AbstractFilteredCatalog.add(AbstractFilteredCatalog.java:636)
       at 
org.geoserver.catalog.impl.AbstractCatalogDecorator.add(AbstractCatalogDecorator.java:573)
       at 
org.geoserver.wms.web.data.StyleNewPage.onStyleFormSubmit(StyleNewPage.java:78)
       at 
org.geoserver.wms.web.data.AbstractStylePage$1.onSubmit(AbstractStylePage.java:228)
       at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1318)
       at org.apache.wicket.markup.html.form.Form.process(Form.java:976)
       at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:797)
       at 
org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:174)
       at 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:155)
       at 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:601)
       at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
       at 
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
       at 
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
       at 
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
       at 
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
       at 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
       at 
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
       at 
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
       at 
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
       at 
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
       at 
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
       at 
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
       at 
org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:159)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
       at 
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:166)
       at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177)
       at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52)
       at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043)
       at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
       at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
       at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
       at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:357)
       at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:176)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:73)
       at 
org.geoserver.flow.controller.IpBlacklistFilter.doFilter(IpBlacklistFilter.java:89)
       at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70)
       at 
org.geoserver.flow.ControlFlowCallback.doFilter(ControlFlowCallback.java:264)
       at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70)
       at 
org.geoserver.gwc.web.blob.SqliteMultipartFilter.doFilterInternal(SqliteMultipartFilter.java:25)
       at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
       at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70)
       at 
org.geoserver.ows.HTTPHeadersCollector.doFilter(HTTPHeadersCollector.java:48)
       at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70)
       at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:158)
       at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70)
       at 
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:43)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:39)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
       at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
       at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
       at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
       at 
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
       at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
       at 
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)
       at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
       at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
       at 
org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:122)
       at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
       at 
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:158)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
       at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
       at 
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
       at 
org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
       at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
       at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
       at 
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
       at 
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
       at 
org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:142)
       at 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
       at 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:77)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:48)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:49)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
       at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
       at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
       at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
       at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
       at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
       at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
       at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
       at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
       at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
       at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
       at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
       at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
       at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
       at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
       at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
       at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
       at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
       at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassNotFoundException: org.jdom2.JDOMException
       at 
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1412)
       at 
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
       ... 165 more

Other changes to a workspaces, stores and layers are working fine.

What I tried
------------

* installing newer JMS v.2.21-SNAPSHOT
* installing newer ActiveMQ Broker v.2.21-SNAPSHOT
* using private datadir for each instance
* trying GeoServer 2.18 – JMS v.2.18-SNAPSHOT – embedded broker combination

I found similar bugs in these tasks, they are all closed but I am still 
experiencing those problems:

* https://osgeo-org.atlassian.net/browse/GEOS-7758
* https://osgeo-org.atlassian.net/browse/GEOS-7947
* https://osgeo-org.atlassian.net/browse/GEOS-7755
* https://osgeo-org.atlassian.net/browse/GEOS-7263
* https://osgeo-org.atlassian.net/browse/GEOS-7948

( 
https://osgeo-org.atlassian.net/browse/GEOS-10612#add-comment?atlOrigin=eyJpIjoiZDJmY2QxMzYwYWE4NGY0NWJiZDdkMzI5M2IyOWQ5ZGUiLCJwIjoiaiJ9
 ) Add Comment ( 
https://osgeo-org.atlassian.net/browse/GEOS-10612#add-comment?atlOrigin=eyJpIjoiZDJmY2QxMzYwYWE4NGY0NWJiZDdkMzI5M2IyOWQ5ZGUiLCJwIjoiaiJ9
 )

Get Jira notifications on your phone! Download the Jira Cloud app for Android ( 
https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail
 ) or iOS ( 
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8
 ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100204- 
sha1:3bd651e )
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to