Gremlin Server: получение исключения ClosedChannelException для некоторых случаев. Как разрешить это исключение? - PullRequest
1 голос
/ 17 апреля 2020

Я использую withRemote для подключения моего приложения java к серверу gremlin. Я выполняю запрос gremlin для моих входов. Но для некоторых входных данных я сталкиваюсь с этой проблемой:

[junit] java.lang.IllegalStateException: java.nio.channels.ClosedChannelException
    [junit]     at org.apache.tinkerpop.gremlin.process.remote.traversal.step.map.RemoteStep.processNextStart(RemoteStep.java:77)
    [junit]     at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:130)
    [junit]     at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38)
    [junit]     at org.apache.tinkerpop.gremlin.process.traversal.Traversal.fill(Traversal.java:179)
    [junit]     at org.apache.tinkerpop.gremlin.process.traversal.Traversal.toList(Traversal.java:117)
    [junit]     at com.lineage.scripts.neptune.client.NeptuneQueryClientImpl.getVertexList(NeptuneQueryClientImpl.java:92)
    [junit]     at com.lineage.scripts.neptune.client.NeptuneQueryClientImpl.getUpstreamTable(NeptuneQueryClientImpl.java:70)
    [junit]     at com.lineage.scripts.neptune.client.NeptuneQueryClientImpl.getUpstreamTableDepthForVertexId(NeptuneQueryClientImpl.java:23)
    [junit]     at com.lineage.scripts.djs.intermediatetable.InterMediateTableForProvider.getUpstreamForATable(InterMediateTableForProvider.java:150)
    [junit]     at com.lineage.scripts.djs.intermediatetable.InterMediateTableForProvider.lambda$null$1(InterMediateTableForProvider.java:105)
    [junit]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    [junit]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    [junit]     at java.lang.Thread.run(Thread.java:749)
    [junit] Caused by: java.nio.channels.ClosedChannelException
    [junit]     at io.netty.channel.AbstractChannel$AbstractUnsafe.newClosedChannelException(AbstractChannel.java:958)
    [junit]     at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:866)
    [junit]     at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1379)
    [junit]     at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:716)
    [junit]     at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:708)
    [junit]     at io.netty.channel.AbstractChannelHandlerContext.access$1700(AbstractChannelHandlerContext.java:56)
    [junit]     at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1102)
    [junit]     at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1149)
    [junit]     at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1073)
    [junit]     at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
    [junit]     at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:510)
    [junit]     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:518)
    [junit]     at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044)
    [junit]     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    [junit]     ... 1 more

Я просмотрел документы gremlin и несколько статей stackoverflow и также изменил конфигурацию.

'' '

            maxWaitForConnection(3000).
            reconnectInterval(1000).
            maxWaitForSessionClose(120000).
            maxContentLength(65536000).
            keepAliveInterval(180000).
            maxConnectionPoolSize(500)

Я до сих пор не могу понять, почему я получаю исключение здесь? Заранее спасибо.

...