Hi all

I configure a Geoserver's Image mosaics store to get Geotiff files from a 
private S3 storage,
compliant with AWS S3. The mosaic's already exists and I followed documentation 
for migration to S3 
(https://docs.geoserver.org/2.21.x/en/user/community/cog/update.html).

Details on my configuration :

  *   Geoserver version 2.21.2, with community cog-plugin installed
  *   Execution in Docker with Kartoza project 
(https://github.com/kartoza/docker-geoserver)
  *   Mosaic index stored in PostgreSQL

Steps to migrate to S3 :
1. Add or modify parameters in mosaic configuration properties file :
```
Cog=true
CogRangeReader=it.geosolutions.imageioimpl.plugins.cog.S3RangeReader
CogUser=xxxx
CogPassword=yyyyy
SuggestedSPI=it.geosolutions.imageioimpl.plugins.cog.CogImageReaderSpi
```

2. Add some environment variables in Dockerfile :
```
IIO_S3_AWS_ENDPOINT=https://s3.datalake.test.fr \
IIO_S3_AWS_REGION=us-east-1 \
IIO_S3_AWS_KEEP_ALIVE_TIME=0
```

3. Copy the COG file into an S3 bucket, and updated the "location" column in 
PostgreSQL table :
`s3://gdh-test-dev/s2/l2a/T22MGD_20230301T133831_27_RGB-cog.tif`

When I test with "Preview layers", the image doesn't display and I have the 
following stack trace :

```
05 Apr 14:04:35 DEBUG  [gce.imagemosaic] - Proceeding with granule: 
s3://gdh-test-dev/s2/l2a/T22MGD_20230301T133831_27_RGB-cog.tif
05 Apr 14:04:35 DEBUG  [gce.geotiff] - java.util.concurrent.ExecutionException: 
software.amazon.awssdk.core.exception.SdkClientException
java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
software.amazon.awssdk.core.exception.SdkClientException
              at 
it.geosolutions.imageioimpl.plugins.cog.S3RangeReader.readHeader(S3RangeReader.java:131)
              at 
it.geosolutions.imageioimpl.plugins.cog.DefaultCogImageInputStream.initializeHeader(DefaultCogImageInputStream.java:124)
              at 
it.geosolutions.imageioimpl.plugins.cog.DefaultCogImageInputStream.init(DefaultCogImageInputStream.java:84)
              at 
it.geosolutions.imageioimpl.plugins.cog.CogSourceSPIProvider.getStream(CogSourceSPIProvider.java:96)
              at 
org.geotools.gce.geotiff.GeoTiffFormat.accepts(GeoTiffFormat.java:198)
              at 
org.geotools.gce.imagemosaic.DefaultGranuleAccessProvider.getFormat(DefaultGranuleAccessProvider.java:91)
              at 
org.geotools.gce.imagemosaic.CogGranuleAccessProvider.getFormat(CogGranuleAccessProvider.java:40)
              at 
org.geotools.gce.imagemosaic.GranuleDescriptor.init(GranuleDescriptor.java:411)
              at 
org.geotools.gce.imagemosaic.GranuleDescriptor.<init>(GranuleDescriptor.java:883)
              at 
org.geotools.gce.imagemosaic.catalog.CachingDataStoreGranuleCatalog.getGranuleDescriptor(CachingDataStoreGranuleCatalog.java:255)
              at 
org.geotools.gce.imagemosaic.catalog.CachingDataStoreGranuleCatalog.sequentialGranuleVisit(CachingDataStoreGranuleCatalog.java:215)
              at 
org.geotools.gce.imagemosaic.catalog.CachingDataStoreGranuleCatalog.getGranuleDescriptors(CachingDataStoreGranuleCatalog.java:179)
              at 
org.geotools.gce.imagemosaic.RasterManager.getGranuleDescriptors(RasterManager.java:1270)
              at 
org.geotools.gce.imagemosaic.RasterLayerResponse.prepareResponse(RasterLayerResponse.java:729)
              at 
org.geotools.gce.imagemosaic.RasterLayerResponse.processRequest(RasterLayerResponse.java:605)
              at 
org.geotools.gce.imagemosaic.RasterLayerResponse.createResponse(RasterLayerResponse.java:573)
              at 
org.geotools.gce.imagemosaic.RasterManager.read(RasterManager.java:1261)
              at 
org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:651)
              at 
org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:632)
              at 
org.geoserver.catalog.SingleGridCoverage2DReader.read(SingleGridCoverage2DReader.java:147)
              at 
org.geoserver.catalog.CoverageDimensionCustomizerReader.read(CoverageDimensionCustomizerReader.java:234)
              at 
org.geoserver.catalog.CoverageDimensionCustomizerReader.read(CoverageDimensionCustomizerReader.java:222)
              at 
org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readSingleCoverage(GridCoverageReaderHelper.java:642)
              at 
org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readCoverageInEnvelope(GridCoverageReaderHelper.java:371)
              at 
org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readCoverages(GridCoverageReaderHelper.java:247)
              at 
org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderImage(GridCoverageRenderer.java:719)
              at 
org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderImage(GridCoverageRenderer.java:668)
              at 
org.geoserver.wms.map.DirectRasterRenderer.readWithProjectionHandling(DirectRasterRenderer.java:720)
              at 
org.geoserver.wms.map.DirectRasterRenderer.render(DirectRasterRenderer.java:245)
              at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:301)
              at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:205)
              at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:82)
              at org.geoserver.wms.GetMap.executeInternal(GetMap.java:344)
              at org.geoserver.wms.GetMap.run(GetMap.java:203)
              at org.geoserver.wms.GetMap.run(GetMap.java:113)
              at 
org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:250)
              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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
              at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
              at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
              at 
org.geoserver.kml.WebMapServiceKmlInterceptor.invoke(WebMapServiceKmlInterceptor.java:38)
              at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
              at 
org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:57)
              at 
org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:32)
              at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
              at 
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:64)
              at 
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:43)
              at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
              at 
org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:51)
              at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
              at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
              at com.sun.proxy.$Proxy132.getMap(Unknown Source)
              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.geoserver.ows.Dispatcher.execute(Dispatcher.java:867)
              at 
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:268)
              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.doGet(FrameworkServlet.java:898)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
              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.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126)
              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.monitor.MonitorFilter.doFilter(MonitorFilter.java:144)
              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:194)
              at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70)
              at 
org.geoserver.flow.controller.IpBlacklistFilter.doFilter(IpBlacklistFilter.java:89)
              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.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
              at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.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.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:81)
              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.util.concurrent.ExecutionException: 
software.amazon.awssdk.core.exception.SdkClientException
              at 
java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
              at 
java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
              at 
it.geosolutions.imageioimpl.plugins.cog.S3RangeReader.readHeader(S3RangeReader.java:122)
              ... 166 more
Caused by: software.amazon.awssdk.core.exception.SdkClientException
              at 
software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:97)
              at 
software.amazon.awssdk.core.internal.util.ThrowableUtils.asSdkException(ThrowableUtils.java:98)
              at 
software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage$RetryExecutor.retryIfNeeded(AsyncRetryableStage.java:125)
              at 
software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage$RetryExecutor.lambda$execute$0(AsyncRetryableStage.java:107)
              at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
              at 
java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
              at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
              at 
java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
              at 
software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage$ResponseHandler.onError(MakeAsyncHttpRequestStage.java:249)
              at 
software.amazon.awssdk.http.nio.netty.internal.NettyRequestExecutor.handleFailure(NettyRequestExecutor.java:253)
              at 
software.amazon.awssdk.http.nio.netty.internal.NettyRequestExecutor.lambda$writeRequest$7(NettyRequestExecutor.java:207)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:570)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:549)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
              at 
io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
              at 
io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)
              at 
io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
              at 
io.netty.util.internal.PromiseNotificationUtil.tryFailure(PromiseNotificationUtil.java:64)
              at 
io.netty.channel.DelegatingChannelPromiseNotifier.operationComplete(DelegatingChannelPromiseNotifier.java:57)
              at 
io.netty.channel.DelegatingChannelPromiseNotifier.operationComplete(DelegatingChannelPromiseNotifier.java:31)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
              at 
io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
              at 
io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)
              at 
io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
              at io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:808)
              at 
io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:771)
              at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:752)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:749)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:741)
              at 
io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:727)
              at 
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.flush(CombinedChannelDuplexHandler.java:533)
              at 
io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:125)
              at 
io.netty.channel.CombinedChannelDuplexHandler.flush(CombinedChannelDuplexHandler.java:358)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:749)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:741)
              at 
io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:727)
              at 
io.netty.handler.logging.LoggingHandler.flush(LoggingHandler.java:265)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:749)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764)
              at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:789)
              at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:757)
              at 
com.typesafe.netty.http.HttpStreamsHandler.completeBody(HttpStreamsHandler.java:298)
              at 
com.typesafe.netty.http.HttpStreamsHandler.access$400(HttpStreamsHandler.java:14)
              at 
com.typesafe.netty.http.HttpStreamsHandler$3$1.run(HttpStreamsHandler.java:276)
              at 
com.typesafe.netty.http.HttpStreamsHandler.executeInEventLoop(HttpStreamsHandler.java:342)
              at 
com.typesafe.netty.http.HttpStreamsHandler.access$300(HttpStreamsHandler.java:14)
              at 
com.typesafe.netty.http.HttpStreamsHandler$3.complete(HttpStreamsHandler.java:273)
              at 
com.typesafe.netty.HandlerSubscriber$3.operationComplete(HandlerSubscriber.java:244)
              at 
com.typesafe.netty.HandlerSubscriber$3.operationComplete(HandlerSubscriber.java:241)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:570)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:549)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
              at 
io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
              at 
io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)
              at 
io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
              at 
io.netty.util.internal.PromiseNotificationUtil.tryFailure(PromiseNotificationUtil.java:64)
              at 
io.netty.channel.DelegatingChannelPromiseNotifier.operationComplete(DelegatingChannelPromiseNotifier.java:57)
              at 
io.netty.channel.DelegatingChannelPromiseNotifier.operationComplete(DelegatingChannelPromiseNotifier.java:31)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:570)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:549)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
              at 
io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
              at 
io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)
              at 
io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
              at 
io.netty.util.internal.PromiseNotificationUtil.tryFailure(PromiseNotificationUtil.java:64)
              at 
io.netty.channel.DelegatingChannelPromiseNotifier.operationComplete(DelegatingChannelPromiseNotifier.java:57)
              at 
io.netty.channel.DelegatingChannelPromiseNotifier.operationComplete(DelegatingChannelPromiseNotifier.java:31)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
              at 
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
              at 
io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
              at 
io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)
              at 
io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
              at io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:808)
              at 
io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:771)
              at 
io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1207)
              at 
io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1183)
              at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1221)
              at 
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:505)
              at 
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:444)
              at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:283)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
              at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
              at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
              at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
              at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931)
              at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
              at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700)
              at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635)
              at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552)
              at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514)
              at 
io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044)
              at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
              ... 1 more
Caused by: javax.net.ssl.SSLException: SSLEngine closed already
              at io.netty.handler.ssl.SslHandler.wrap(...)(Unknown Source)
```

I tried to change the URL type in location column with : 
https://s3.datalake.cnes.fr/gdh-test-dev/s2/l2a/T22MGD_20230301T133831_27_RGB-cog.tif.
--> The problem is the same.

I embedded the .pem into the container for the https endpoint, and registered 
it with keytool.
--> not better

If someone could help on this, it would be great !!

All my Best

Olivier GAQUIERE
This message contains information that may be privileged or confidential and is 
the property of the Capgemini Group. It is intended only for the person to whom 
it is addressed. If you are not the intended recipient, you are not authorized 
to read, print, retain, copy, disseminate, distribute, or use this message or 
any part thereof. If you receive this message in error, please notify the 
sender immediately and delete all copies of this message.
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to