orientDB ClosedChannelException

67 views
Skip to first unread message

Boris Borshevsky

unread,
Feb 1, 2015, 8:14:51 AM2/1/15
to orient-...@googlegroups.com
Hi everyone,

We are trying to use OrientDB with REST API and vert.x.
we have noticed that when we send many requests one after the other we are receiving the following exeption:

Exception in Java verticle
java.nio.channels.ClosedChannelException
        at org.vertx.java.core.http.impl.ClientConnection$2.handle(ClientConnection.java:256)
        at org.vertx.java.core.http.impl.ClientConnection$2.handle(ClientConnection.java:246)
        at org.vertx.java.core.net.impl.ConnectionBase.handleClosed(ConnectionBase.java:137)
        at org.vertx.java.core.http.impl.ClientConnection.handleClosed(ClientConnection.java:367)
        at org.vertx.java.core.net.impl.VertxHandler$3.run(VertxHandler.java:120)
        at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
        at org.vertx.java.core.impl.DefaultContext.execute(DefaultContext.java:135)
        at org.vertx.java.core.net.impl.VertxHandler.channelInactive(VertxHandler.java:118)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:233)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:219)
        at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
        at io.netty.handler.codec.http.HttpContentDecoder.channelInactive(HttpContentDecoder.java:201)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:233)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:219)
        at io.netty.handler.codec.ReplayingDecoder.channelInactive(ReplayingDecoder.java:348)
        at io.netty.handler.codec.http.HttpClientCodec$Decoder.channelInactive(HttpClientCodec.java:212)
        at io.netty.channel.CombinedChannelDuplexHandler.channelInactive(CombinedChannelDuplexHandler.java:133)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:233)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:219)
        at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:769)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$5.run(AbstractChannel.java:568)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
        at java.lang.Thread.run(Thread.java:745)


after an investigation with a network sniffer we have noticed that orientDB doesn't allow to reuse the same connection and it closes the connection at the middle of the second request.
if we hold between the requests (about 100ms) it works fine since it clothes the connection and the second request opens another one.

Is there any way for the orientDB to reuse the connection?
is there a better way to fire REST requests one after the other?  





Krishna

unread,
Mar 3, 2015, 1:28:40 PM3/3/15
to orient-...@googlegroups.com
From the stackmore, it deals more with netty I guess. Kindly check once whether you are able to open a channel/ connection in netty ?
Reply all
Reply to author
Forward
0 new messages