[
https://issues.apache.org/jira/browse/TINKERPOP-2369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17159892#comment-17159892
]
Carlos Mario Villadiego commented on TINKERPOP-2369:
----------------------------------------------------
I'm having something similar issue. In my project we are connecting to cosmosdb
gremlin database in azure. Cosmos server close idle (1 hour) connections
automatically and it seems the driver try to attemp a request using this closed
connection and obviously I get the error:
2020-07-17T10:22:58.544696620Z Caused by:
java.util.concurrent.ExecutionException:
java.nio.channels.ClosedChannelException2020-07-17T10:22:58.544696620Z Caused
by: java.util.concurrent.ExecutionException:
java.nio.channels.ClosedChannelException2020-07-17T10:22:58.544700820Z at
java.base/java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
~[na:na]2020-07-17T10:22:58.544705120Z at
java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
~[na:na]2020-07-17T10:22:58.544709220Z at
org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:212)
~[gremlin-driver-3.2.4.jar!/:3.2.4]2020-07-17T10:22:58.544715820Z at
org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:198)
~[gremlin-driver-3.2.4.jar!/:3.2.4]2020-07-17T10:22:58.544720121Z at
sura.autotriage.cosmosdbgremlin.helpers.TriageClient.execute(TriageClient.java:41)
~[driven-adapters-cosmosdbgremlin-repository-0.0.1.jar!/:na]2020-07-17T10:22:58.544724421Z
at
sura.autotriage.cosmosdbgremlin.helpers.TriageClient.executeCommand(TriageClient.java:21)
~[driven-adapters-cosmosdbgremlin-repository-0.0.1.jar!/:na]2020-07-17T10:22:58.544728621Z
at
sura.autotriage.cosmosdbgremlin.patient.PatientDataRepository.findByIdentifcation(PatientDataRepository.java:25)
~[driven-adapters-cosmosdbgremlin-repository-0.0.1.jar!/:na]2020-07-17T10:22:58.544732921Z
at
sura.autotriage.cosmosdbgremlin.patient.PatientDataRepository$$FastClassBySpringCGLIB$$5afdbcea.invoke(<generated>)
~[driven-adapters-cosmosdbgremlin-repository-0.0.1.jar!/:na]2020-07-17T10:22:58.544737521Z
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
~[spring-core-5.2.7.RELEASE.jar!/:5.2.7.RELEASE]2020-07-17T10:22:58.544741721Z
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
~[spring-aop-5.2.7.RELEASE.jar!/:5.2.7.RELEASE]2020-07-17T10:22:58.544746022Z
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
~[spring-aop-5.2.7.RELEASE.jar!/:5.2.7.RELEASE]2020-07-17T10:22:58.544750222Z
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
~[spring-aop-5.2.7.RELEASE.jar!/:5.2.7.RELEASE]2020-07-17T10:22:58.544755022Z
at
org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)
~[spring-tx-5.2.7.RELEASE.jar!/:5.2.7.RELEASE]2020-07-17T10:22:58.544759322Z
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
~[spring-aop-5.2.7.RELEASE.jar!/:5.2.7.RELEASE]2020-07-17T10:22:58.544763622Z
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
~[spring-aop-5.2.7.RELEASE.jar!/:5.2.7.RELEASE]2020-07-17T10:22:58.544767822Z
at
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
~[spring-aop-5.2.7.RELEASE.jar!/:5.2.7.RELEASE]2020-07-17T10:22:58.544772023Z
at
sura.autotriage.cosmosdbgremlin.patient.PatientDataRepository$$EnhancerBySpringCGLIB$$6d056cef.findByIdentifcation(<generated>)
~[driven-adapters-cosmosdbgremlin-repository-0.0.1.jar!/:na]2020-07-17T10:22:58.544776523Z
at
sura.autotriage.usecase.patient.QueryPatientUseCase.getPatient(QueryPatientUseCase.java:14)
~[domain-usecase-0.0.1.jar!/:na]2020-07-17T10:22:58.544780823Z at
sura.autotriage.usecase.triage.CreateTriageUseCase.getPatient(CreateTriageUseCase.java:44)
~[domain-usecase-0.0.1.jar!/:na]2020-07-17T10:22:58.544785023Z at
sura.autotriage.usecase.triage.CreateTriageUseCase.lambda$createTriage$2(CreateTriageUseCase.java:34)
~[domain-usecase-0.0.1.jar!/:na]2020-07-17T10:22:58.544789323Z at
sura.autotriage.usecase.triage.CreateTriageUseCase$$Lambda$742/0000000084053A10.apply(Unknown
Source) ~[na:na]2020-07-17T10:22:58.544795923Z at
reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:151)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544800224Z
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544804524Z
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544808724Z
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:150)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544812924Z
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544817124Z
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:241)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544821724Z
at
reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544825924Z
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:203)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544830125Z
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:203)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544834425Z
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544838525Z
at
reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.onNext(MonoIgnoreThen.java:296)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544842725Z
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544846925Z
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:144)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544851125Z
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544855326Z
at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:247)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544859526Z
at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:329)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544863826Z
at
reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:173)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544880326Z
at
reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:92)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544884227Z
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:67)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544888227Z
at
reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544894627Z
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544898827Z
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:144)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544902727Z
at
reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onNext(FluxContextStart.java:96)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544906727Z
at
reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:287)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544910628Z
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:330)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544914628Z
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544918428Z
at
reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:152)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544922428Z
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544926328Z
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:252)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544930328Z
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136)
~[reactor-core-3.3.6.RELEASE.jar!/:3.3.6.RELEASE]2020-07-17T10:22:58.544934228Z
at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:365)
~[reactor-netty-0.9.8.RELEASE.jar!/:0.9.8.RELEASE]2020-07-17T10:22:58.544938229Z
at
reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:368)
~[reactor-netty-0.9.8.RELEASE.jar!/:0.9.8.RELEASE]2020-07-17T10:22:58.544942129Z
at
reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:495)
~[reactor-netty-0.9.8.RELEASE.jar!/:0.9.8.RELEASE]2020-07-17T10:22:58.544946029Z
at
reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:96)
~[reactor-netty-0.9.8.RELEASE.jar!/:0.9.8.RELEASE]2020-07-17T10:22:58.544950029Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544954129Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544958129Z
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544962029Z
at
reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:214)
~[reactor-netty-0.9.8.RELEASE.jar!/:0.9.8.RELEASE]2020-07-17T10:22:58.544968330Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544972330Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544976330Z
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544983730Z
at
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544987830Z
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
~[netty-codec-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544991731Z
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
~[netty-codec-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544995631Z
at
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.544999631Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545003531Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545007531Z
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545011731Z
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545015731Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545019632Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545023532Z
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545027532Z
at
io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
~[netty-transport-native-epoll-4.1.50.Final-linux-x86_64.jar!/:4.1.50.Final]2020-07-17T10:22:58.545031532Z
at
io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:387)
~[netty-transport-native-epoll-4.1.50.Final-linux-x86_64.jar!/:4.1.50.Final]2020-07-17T10:22:58.545035432Z
at
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545039332Z
at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545045932Z
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
~[netty-transport-native-epoll-4.1.50.Final-linux-x86_64.jar!/:4.1.50.Final]2020-07-17T10:22:58.545049933Z
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545053833Z
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545057833Z
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545061733Z
at java.base/java.lang.Thread.run(Unknown Source)
~[na:na]2020-07-17T10:22:58.545065533Z Caused by:
java.nio.channels.ClosedChannelException: null2020-07-17T10:22:58.545069533Z at
io.netty.channel.AbstractChannel$AbstractUnsafe.newClosedChannelException(AbstractChannel.java:957)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545073533Z
at
io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:865)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545077534Z
at
io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545081434Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545085334Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545089334Z
at
io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545093334Z
at
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545097134Z
at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545101134Z
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545105035Z
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545109035Z
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
~[netty-common-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545112935Z
... 1 common frames omitted2020-07-17T10:22:58.545116735Z Caused by:
java.io.IOException: Broken pipe2020-07-17T10:22:58.545120535Z at
java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method)
~[na:na]2020-07-17T10:22:58.545124435Z at
java.base/sun.nio.ch.SocketDispatcher.write(Unknown Source)
~[na:na]2020-07-17T10:22:58.545130636Z at
java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
~[na:na]2020-07-17T10:22:58.545134536Z at
java.base/sun.nio.ch.IOUtil.write(Unknown Source)
~[na:na]2020-07-17T10:22:58.545138336Z at
java.base/sun.nio.ch.IOUtil.write(Unknown Source)
~[na:na]2020-07-17T10:22:58.545142136Z at
java.base/sun.nio.ch.SocketChannelImpl.write(Unknown Source)
~[na:na]2020-07-17T10:22:58.545146236Z at
io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:408)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545150236Z
at
io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:930)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545154136Z
at
io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545158037Z
at
io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:897)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545161937Z
at
io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545165837Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545169837Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:742)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545173737Z
at
io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:728)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545177637Z
at io.netty.handler.ssl.SslHandler.forceFlush(SslHandler.java:2077)
~[netty-handler-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545181637Z
at io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:815)
~[netty-handler-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545185538Z
at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:792)
~[netty-handler-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545189538Z
at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:1931)
~[netty-handler-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545193438Z
at
io.netty.handler.ssl.SslHandler.closeOutboundAndChannel(SslHandler.java:1899)
~[netty-handler-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545197338Z
at io.netty.handler.ssl.SslHandler.close(SslHandler.java:743)
~[netty-handler-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545201238Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:622)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545205438Z
at
io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:606)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545209338Z
at
io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:472)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545217939Z
at
org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.exceptionCaught(Handler.java:265)
~[gremlin-driver-3.2.4.jar!/:3.2.4]2020-07-17T10:22:58.545222139Z at
io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545226039Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545230039Z
at
io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545233939Z
at
org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.exceptionCaught(WebSocketClientHandler.java:102)
~[gremlin-driver-3.2.4.jar!/:3.2.4]2020-07-17T10:22:58.545237939Z at
io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545241940Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545245940Z
at
io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545249840Z
at io.netty.handler.ssl.SslHandler.exceptionCaught(SslHandler.java:1136)
~[netty-handler-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545253840Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545257740Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545262240Z
at
io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545266241Z
at
io.netty.channel.DefaultChannelPipeline$HeadContext.exceptionCaught(DefaultChannelPipeline.java:1377)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545270141Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545274141Z
at
io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545278041Z
at
io.netty.channel.DefaultChannelPipeline.fireExceptionCaught(DefaultChannelPipeline.java:907)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545281941Z
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.handleReadException(AbstractNioByteChannel.java:125)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545288341Z
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:174)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545292341Z
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545296242Z
at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545300142Z
at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545304042Z
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
~[netty-transport-4.1.50.Final.jar!/:4.1.50.Final]2020-07-17T10:22:58.545308042Z
... 3 common frames omitted
What would be the recommended action to overcome this problem at this time
while a final fix is released in the driver ? Should I to retry the request ?
> Connections in ConnectionPool are not replaced in background when underlying
> channel is closed
> ----------------------------------------------------------------------------------------------
>
> Key: TINKERPOP-2369
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2369
> Project: TinkerPop
> Issue Type: Bug
> Components: driver
> Affects Versions: 3.4.1
> Reporter: Johannes Carlsen
> Priority: Major
>
> Hi Tinkerpop team!
>
> We are using the Gremlin Java Driver to connect to an Amazon Neptune cluster.
> We are using the IAM authentication feature provided by Neptune, which means
> that individual websocket connections are closed by the server every 36
> hours, when their credentials expire. The current implementation of the
> driver does not handle this situation well, as the Connection whose channel
> has been closed by the server remains in the ConnectionPool. The connection
> is only reported as dead and replaced when when it is later chosen by the
> LoadBalancingStrategy to server a client request, which inevitably fails when
> the connection attempts to write to the closed channel.
> A fix for this bug would cause the connection pool to be automatically
> refreshed in the background by either the keep-alive mechanism, which should
> replace a connection if a keep-alive request fails, or by adding a listener
> for the close frame being sent to the underlying channel to replace the
> connection. Without a fix, the only way to recover from a stale connection is
> to retry the request at the cluster level, which will allow the request to be
> directed to a different connection.
> I noticed a PR out for the .NET client to fix this behavior:
> [https://github.com/apache/tinkerpop/pull/1279.] We are hoping for something
> similar in the Gremlin Java Driver.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)