[Geoserver-users] Error connecting to datastore on startup with multiple geoserver instances

Hi,

I have an issue with starting multiple geoserver instances.
I have 3 geoservers (version 2.3.5) in 3 different tomcats, using java
version "1.6.0_45".
All 3 have the same geoserver_data_dir.

When geoservers starts up (all at the same time), one of the geoservers
keeps the datastore enable, and the others disable.

There is any recomendation to start geoserver instances delayed?
One geoserver locks the geoserver_data_dir workspace, and the others can't
wait?

Any ideia?

Thank you in advanced.

/*Tiago Vieira*/

Logs:

*Geoserver 1:*
2016-01-19 14:55:55,104 main INFO [org.geoserver] - Loaded default
workspace inventory
2016-01-19 14:55:55,127 main INFO [org.geoserver] - Loaded workspace 'OSP'
2016-01-19 14:55:56,376 main INFO [org.geoserver] - Loaded store 'OSP',
enabled
2016-01-19 14:55:56,407 main INFO [org.geoserver] - Loaded data store 'OSP'

*Geoserver 2:*
2016-01-19 14:57:00,866 main WARN [org.geoserver] - Error connecting to
'OSP'. Disabling.
2016-01-19 14:57:00,869 main INFO [org.geoserver] -
java.io.IOException
  at org.geoserver.catalog.ResourcePool.getDataStore(ResourcePool.java:579)
  at
org.geoserver.catalog.impl.DataStoreInfoImpl.getDataStore(DataStoreInfoImpl.java:37)
  at
org.geoserver.config.GeoServerLoader.readCatalog(GeoServerLoader.java:354)
  at
org.geoserver.config.GeoServerLoader.readCatalog(GeoServerLoader.java:226)
  at
org.geoserver.config.DefaultGeoServerLoader.loadCatalog(DefaultGeoServerLoader.java:46)
  at
org.geoserver.config.GeoServerLoader.postProcessBeforeInitialization(GeoServerLoader.java:114)
  at
org.geoserver.config.GeoServerLoaderProxy.postProcessBeforeInitialization(GeoServerLoaderProxy.java:58)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
  at
org.springframework.beans.factory.support.AbstractBeanFactorygetObject(AbstractBeanFactory.java:294)
  at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
  at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
  at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
  at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
  at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
  at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
  at
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
  at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
  at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
  at
org.geoserver.platform.GeoServerContextLoaderListener.contextInitialized(GeoServerContextLoaderListener.java:22)
  at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
  at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
  at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
  at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
  at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
  at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
  at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
  at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
  at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
  at org.apache.catalina.core.StandardService.start(StandardService.java:525)
  at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
  at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.RuntimeException: Unable to obtain connection: Cannot
create PoolableConnectionFactory (IO Error: Connection reset)
  at
org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1679)
  at org.geotools.jdbc.JDBCDataStore.createTypeNames(JDBCDataStore.java:829)
  at
org.geotools.data.store.ContentDataStore.getTypeNames(ContentDataStore.java:300)
  at
org.vfny.geoserver.util.DataStoreUtils.getDataAccess(DataStoreUtils.java:114)
  at org.geoserver.catalog.ResourcePool.getDataStore(ResourcePool.java:539)
  ... 45 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (IO Error: Connection reset)
  at
org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
  at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
  at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
  at
org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1665)
  ... 49 more
Caused by: java.sql.SQLRecoverableException: IO Error: Connection reset
  at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:682)
  at
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:711)
  at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
  at
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
  at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:558)
  at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
  at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
  at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
  at
org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
  ... 52 more
Caused by: java.net.SocketException: Connection reset
  at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
  at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
  at oracle.net.ns.DataPacket.send(DataPacket.java:209)
  at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:215)
  at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:302)
  at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
  at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
  at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
  at
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
  at
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
  at
oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:426)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:390)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
  at
oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:435)
  at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:580)
  ... 60 more

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-connecting-to-datastore-on-startup-with-multiple-geoserver-instances-tp5250790.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

The recommendation is not to have more than one GeoServer instance writing to the data directory ever! The outcome is pretty much undetermined once you do that. Look at using one of the clustering modules (http://boundlessgeo.com/2013/04/geoserver-in-a-clustered-configuration-part-1/) or the JDBC config module (http://docs.geoserver.org/stable/en/user/community/jdbcconfig/installing.html)

Ian

···

On 16 February 2016 at 12:24, Tiago Vieira <tixvieira@anonymised.com> wrote:

Hi,

I have an issue with starting multiple geoserver instances.
I have 3 geoservers (version 2.3.5) in 3 different tomcats, using java
version “1.6.0_45”.
All 3 have the same geoserver_data_dir.

When geoservers starts up (all at the same time), one of the geoservers
keeps the datastore enable, and the others disable.

There is any recomendation to start geoserver instances delayed?
One geoserver locks the geoserver_data_dir workspace, and the others can’t
wait?

Any ideia?

Thank you in advanced.

/Tiago Vieira/

Logs:

Geoserver 1:
2016-01-19 14:55:55,104 main INFO [org.geoserver] - Loaded default
workspace inventory
2016-01-19 14:55:55,127 main INFO [org.geoserver] - Loaded workspace ‘OSP’
2016-01-19 14:55:56,376 main INFO [org.geoserver] - Loaded store ‘OSP’,
enabled
2016-01-19 14:55:56,407 main INFO [org.geoserver] - Loaded data store ‘OSP’

Geoserver 2:
2016-01-19 14:57:00,866 main WARN [org.geoserver] - Error connecting to
‘OSP’. Disabling.
2016-01-19 14:57:00,869 main INFO [org.geoserver] -
java.io.IOException
at org.geoserver.catalog.ResourcePool.getDataStore(ResourcePool.java:579)
at
org.geoserver.catalog.impl.DataStoreInfoImpl.getDataStore(DataStoreInfoImpl.java:37)
at
org.geoserver.config.GeoServerLoader.readCatalog(GeoServerLoader.java:354)
at
org.geoserver.config.GeoServerLoader.readCatalog(GeoServerLoader.java:226)
at
org.geoserver.config.DefaultGeoServerLoader.loadCatalog(DefaultGeoServerLoader.java:46)
at
org.geoserver.config.GeoServerLoader.postProcessBeforeInitialization(GeoServerLoader.java:114)
at
org.geoserver.config.GeoServerLoaderProxy.postProcessBeforeInitialization(GeoServerLoaderProxy.java:58)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at
org.springframework.beans.factory.support.AbstractBeanFactorygetObject(AbstractBeanFactory.java:294)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at
org.geoserver.platform.GeoServerContextLoaderListener.contextInitialized(GeoServerContextLoaderListener.java:22)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.RuntimeException: Unable to obtain connection: Cannot
create PoolableConnectionFactory (IO Error: Connection reset)
at
org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1679)
at org.geotools.jdbc.JDBCDataStore.createTypeNames(JDBCDataStore.java:829)
at
org.geotools.data.store.ContentDataStore.getTypeNames(ContentDataStore.java:300)
at
org.vfny.geoserver.util.DataStoreUtils.getDataAccess(DataStoreUtils.java:114)
at org.geoserver.catalog.ResourcePool.getDataStore(ResourcePool.java:539)
… 45 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (IO Error: Connection reset)
at
org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at
org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1665)
… 49 more
Caused by: java.sql.SQLRecoverableException: IO Error: Connection reset
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:682)
at
oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:711)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:385)
at
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:558)
at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
at
org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
… 52 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at oracle.net.ns.DataPacket.send(DataPacket.java:209)
at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:215)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:302)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
at
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
at
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
at
oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:426)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:390)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
at
oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:435)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:580)
… 60 more


View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-connecting-to-datastore-on-startup-with-multiple-geoserver-instances-tp5250790.html
Sent from the GeoServer - User mailing list archive at Nabble.com.


Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Ian Turton