Closed jjhi11 closed 3 months ago
What do you mean losing configurations. The jdbc sets up a config as specified in https://github.com/kartoza/docker-geoserver/blob/develop/scripts%2Ffunctions.sh#L575
Configurations meaning workspaces, stores, layers and settings made within the web admin UI.
I get geoserver up and running and setup some workspaces add some postgis stores and publish some layers. All good until some time later I log back in and they are all gone. I thought by setting RECREATE_DATADIR to false helped since the workspaces, stores and layers lasted for about 5 days but then today they were gone.
I have it running in a Google Cloud Run that always has a CPU allocated to it and the minimum instances is set to 1.
Seeing that functions code helps but I'm confused still on the {GEOSERVER_DATA_DIR} being used as my understanding was that using jdbcconfig and jdbcstore eliminated that.
Have you got a PostgreSQL database set up. You need to do two checks
Just add the following to your docker-compose
DB_BACKEND=POSTGRES
HOST=db
POSTGRES_PORT=5432
POSTGRES_DB=gwc
POSTGRES_USER=${POSTGRES_USER}
POSTGRES_PASS=${POSTGRES_PASS}
SSL_MODE=allow
POSTGRES_SCHEMA=public
DISK_QUOTA_SIZE=5
COMMUNITY_EXTENSIONS=jdbcconfig-plugin,jdbcstore-plugin
Yes, I have all those settings set with env vars. The only one im not using is SSL as I have not set that up yet. I see 2 tables, tilepage and tileset. I see another schema too called geo_config. This morning when I logged in to the web admin all my stores and layers are gone.
I guess it all comes down to 2 things
I believe it is being picked up. Here are the logs that lead me to think so.
2024-05-22 06:31:03.699 MDT
[Entrypoint] Checking PostgreSQL connection to see if diskquota tables are loaded: [0m
2024-05-22 06:31:04.423 MDT
List of databases
2024-05-22 06:31:04.423 MDT
Name | Owner | Encoding | Collate | Ctype | Access privileges
2024-05-22 06:31:04.423 MDT
---------------+-------------------+----------+------------+------------+-----------------------------------------
2024-05-22 06:31:04.423 MDT
cloudsqladmin | cloudsqladmin | UTF8 | en_US.UTF8 | en_US.UTF8 |
2024-05-22 06:31:04.423 MDT
geoserver | cloudsqlsuperuser | UTF8 | en_US.UTF8 | en_US.UTF8 |
2024-05-22 06:31:04.423 MDT
postgres | cloudsqlsuperuser | UTF8 | en_US.UTF8 | en_US.UTF8 |
2024-05-22 06:31:04.423 MDT
template0 | cloudsqladmin | UTF8 | en_US.UTF8 | en_US.UTF8 | =c/cloudsqladmin +
2024-05-22 06:31:04.423 MDT
| | | | | cloudsqladmin=CTc/cloudsqladmin
2024-05-22 06:31:04.423 MDT
template1 | cloudsqlsuperuser | UTF8 | en_US.UTF8 | en_US.UTF8 | =c/cloudsqlsuperuser +
2024-05-22 06:31:04.423 MDT
| | | | | cloudsqlsuperuser=CTc/cloudsqlsuperuser
2024-05-22 06:31:04.423 MDT
(5 rows)
2024-05-22 06:31:04.459 MDT
Archive: /community_plugins/jdbcconfig-plugin.zip
2024-05-22 06:31:04.478 MDT
inflating: /tmp/gs_plugin/gs-jdbcconfig-2.23-SNAPSHOT.jar
2024-05-22 06:31:04.479 MDT
[32m Enabling jdbcconfig-plugin for GeoServer [0m
2024-05-22 06:31:04.496 MDT
Archive: /community_plugins/jdbcstore-plugin.zip
2024-05-22 06:31:04.505 MDT
inflating: /tmp/gs_plugin/gs-jdbcstore-2.23-SNAPSHOT.jar
2024-05-22 06:31:04.507 MDT
inflating: /tmp/gs_plugin/gs-jdbcconfig-2.23-SNAPSHOT.jar
2024-05-22 06:31:04.507 MDT
[32m Enabling jdbcstore-plugin for GeoServer [0m
2024-05-22 06:31:06.593 MDT
/scripts/entrypoint.sh:53 0: CLUSTER_CONFIG_DIR=/opt/geoserver/data_dir/cluster/instance_localhost
2024-05-22 06:31:06.593 MDT
/scripts/entrypoint.sh:54 0: MONITOR_AUDIT_PATH=/opt/geoserver/data_dir/monitoring/monitor_localhost
2024-05-22 06:31:25.928 MDT
/opt/geoserver/data_dir/gwc is nested in /opt/geoserver/data_dir
2024-05-22 06:31:25.928 MDT
[Entrypoint] Changing folder permission for: [1;31m /opt/geoserver/data_dir [0m
2024-05-22 06:31:26.004 MDT
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
2024-05-22 06:31:26.015 MDT
[0.007s][warning][gc,ergo] -XX:NewSize and -XX:MaxNewSize override -XX:NewRatio
im not specifying any tags on the container URL. just kartoza/geoserver so i assume latest
im not specifying any tags on the container URL. just kartoza/geoserver so i assume latest
Please use a tagged version i.e 2.25.0 or 2.24.2
Ok i have redeployed with 2.25.0. I added my workspace, store and layers back. I will check to be sure it persists the next few days
So my workspace persisted but when I try to access the layer preview, stores, or tile layers i get this...
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2085)
at com.google.common.cache.LocalCache.get(LocalCache.java:4011)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4919)
at org.geoserver.jdbcconfig.internal.ConfigDatabase.getById(ConfigDatabase.java:1111)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$2.apply(ConfigDatabase.java:427)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$2.apply(ConfigDatabase.java:423)
at com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:627)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:52)
at com.google.common.collect.Iterators$5.computeNext(Iterators.java:671)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)
at org.geoserver.catalog.util.CloseableIteratorAdapter.hasNext(CloseableIteratorAdapter.java:46)
at com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:46)
at org.geoserver.catalog.util.CloseableIteratorAdapter.hasNext(CloseableIteratorAdapter.java:46)
at com.google.common.collect.Iterators$5.computeNext(Iterators.java:670)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)
at org.geoserver.catalog.util.CloseableIteratorAdapter.hasNext(CloseableIteratorAdapter.java:46)
at com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:46)
at org.geoserver.catalog.util.CloseableIteratorAdapter.hasNext(CloseableIteratorAdapter.java:46)
at org.geoserver.catalog.impl.LocalWorkspaceCatalog.list(LocalWorkspaceCatalog.java:589)
at org.geoserver.web.demo.PreviewLayerProvider.filteredItems(PreviewLayerProvider.java:181)
at org.geoserver.web.demo.PreviewLayerProvider.iterator(PreviewLayerProvider.java:149)
at org.apache.wicket.markup.repeater.data.DataViewBase$ModelIterator.<init>(DataViewBase.java:107)
at org.apache.wicket.markup.repeater.data.DataViewBase.getItemModels(DataViewBase.java:74)
at org.apache.wicket.markup.repeater.AbstractPageableView.getItemModels(AbstractPageableView.java:101)
at org.apache.wicket.markup.repeater.RefreshingView.onPopulate(RefreshingView.java:93)
at org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:124)
at org.apache.wicket.markup.repeater.AbstractPageableView.onBeforeRender(AbstractPageableView.java:115)
at org.apache.wicket.Component.internalBeforeRender(Component.java:950)
at org.apache.wicket.Component.beforeRender(Component.java:1018)
at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1826)
... 145 more
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:499)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:425)
at org.geoserver.config.util.XStreamPersister$LayerInfoConverter.doUnmarshal(XStreamPersister.java:2128)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:277)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:136)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1464)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1441)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1330)
at org.geoserver.config.util.XStreamPersister.load(XStreamPersister.java:724)
at org.geoserver.jdbcconfig.internal.XStreamInfoSerialBinding.entryToObject(XStreamInfoSerialBinding.java:37)
at org.geoserver.jdbcconfig.internal.InfoRowMapper.mapRow(InfoRowMapper.java:54)
at org.geoserver.jdbcconfig.internal.InfoRowMapper.mapRow(InfoRowMapper.java:17)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:94)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:61)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:723)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:648)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:738)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:794)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:246)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:255)
at org.geoserver.jdbcconfig.internal.ConfigDatabase.loadCatalog(ConfigDatabase.java:1400)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$FastClassBySpringCGLIB$$dd464281.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$EnhancerBySpringCGLIB$$2d8b8ed5.loadCatalog(<generated>)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$CatalogLoader.call(ConfigDatabase.java:1384)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$CatalogLoader.call(ConfigDatabase.java:1374)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4924)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3570)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2312)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2189)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2079)
... 176 more
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2085)
at com.google.common.cache.LocalCache.get(LocalCache.java:4011)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4919)
at org.geoserver.jdbcconfig.internal.ConfigDatabase.getById(ConfigDatabase.java:1111)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$FastClassBySpringCGLIB$$dd464281.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)
at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$EnhancerBySpringCGLIB$$2d8b8ed5.getById(<generated>)
at org.geoserver.jdbcconfig.catalog.JDBCCatalogFacade.getResource(JDBCCatalogFacade.java:221)
at org.geoserver.catalog.impl.CatalogImpl.getResource(CatalogImpl.java:544)
at org.geoserver.catalog.impl.ResolvingProxy.resolve(ResolvingProxy.java:131)
at org.geoserver.config.util.XStreamPersister$ReferenceConverter.unmarshal(XStreamPersister.java:1302)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74)
... 222 more
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:499)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:425)
at org.geoserver.config.util.XStreamPersister$ResourceInfoConverter.doUnmarshal(XStreamPersister.java:2027)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:277)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:136)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1464)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1441)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1330)
at org.geoserver.config.util.XStreamPersister.load(XStreamPersister.java:724)
at org.geoserver.jdbcconfig.internal.XStreamInfoSerialBinding.entryToObject(XStreamInfoSerialBinding.java:37)
at org.geoserver.jdbcconfig.internal.InfoRowMapper.mapRow(InfoRowMapper.java:54)
at org.geoserver.jdbcconfig.internal.InfoRowMapper.mapRow(InfoRowMapper.java:17)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:94)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:61)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:723)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:648)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:738)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:794)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:246)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:255)
at org.geoserver.jdbcconfig.internal.ConfigDatabase.loadCatalog(ConfigDatabase.java:1400)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$FastClassBySpringCGLIB$$dd464281.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$EnhancerBySpringCGLIB$$2d8b8ed5.loadCatalog(<generated>)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$CatalogLoader.call(ConfigDatabase.java:1384)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$CatalogLoader.call(ConfigDatabase.java:1374)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4924)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3570)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2312)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2189)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2079)
... 236 more
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2085)
at com.google.common.cache.LocalCache.get(LocalCache.java:4011)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4919)
at org.geoserver.jdbcconfig.internal.ConfigDatabase.getById(ConfigDatabase.java:1111)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$FastClassBySpringCGLIB$$dd464281.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)
at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$EnhancerBySpringCGLIB$$2d8b8ed5.getById(<generated>)
at org.geoserver.jdbcconfig.catalog.JDBCCatalogFacade.getStore(JDBCCatalogFacade.java:113)
at org.geoserver.catalog.impl.CatalogImpl.getStore(CatalogImpl.java:263)
at org.geoserver.catalog.impl.ResolvingProxy.resolve(ResolvingProxy.java:99)
at org.geoserver.config.util.XStreamPersister$ReferenceConverter.unmarshal(XStreamPersister.java:1302)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74)
... 282 more
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:136)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1464)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1441)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1330)
at org.geoserver.config.util.XStreamPersister.load(XStreamPersister.java:724)
at org.geoserver.jdbcconfig.internal.XStreamInfoSerialBinding.entryToObject(XStreamInfoSerialBinding.java:37)
at org.geoserver.jdbcconfig.internal.InfoRowMapper.mapRow(InfoRowMapper.java:54)
at org.geoserver.jdbcconfig.internal.InfoRowMapper.mapRow(InfoRowMapper.java:17)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:94)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:61)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:723)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:648)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:738)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:794)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:246)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:255)
at org.geoserver.jdbcconfig.internal.ConfigDatabase.loadCatalog(ConfigDatabase.java:1400)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$FastClassBySpringCGLIB$$dd464281.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$$EnhancerBySpringCGLIB$$2d8b8ed5.loadCatalog(<generated>)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$CatalogLoader.call(ConfigDatabase.java:1384)
at org.geoserver.jdbcconfig.internal.ConfigDatabase$CatalogLoader.call(ConfigDatabase.java:1374)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4924)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3570)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2312)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2189)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2079)
... 296 more
Caused by: org.jasypt.exceptions.EncryptionOperationNotPossibleException at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:1055) at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:725) at org.geoserver.security.password.GeoServerPBEPasswordEncoder.decode(GeoServerPBEPasswordEncoder.java:176) at org.geoserver.security.password.ConfigurationPasswordEncryptionHelper.decode(ConfigurationPasswordEncryptionHelper.java:208) at org.geoserver.security.password.ConfigurationPasswordEncryptionHelper.decode(ConfigurationPasswordEncryptionHelper.java:192) at org.geoserver.config.util.XStreamPersister$StoreInfoConverter.doUnmarshal(XStreamPersister.java:1887) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:277) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ... 336 more
@jjhi11 Please see https://github.com/kartoza/docker-geoserver/?tab=readme-ov-file#support and https://github.com/kartoza/docker-geoserver/?tab=readme-ov-file#activate-community-extensions-during-contain-startup. This might be an upstream issue or you can try a lower image i.e 2.24.2
I keep getting this error with all images except 2.24.0
Thanks, I will check the differences between the two images
@jjhi11 i tested this with 2.25.1 and it works properly
Feature description
I'd like to be able to configure the plugins JDBCstore and JDBCconfig from env vars for simple deployments.
Additional context
I'm trying to use these plugins now but im not sure they are working correctly if at all. I have been losing all my configurations I have setup such as workspaces, stores and layers.