You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2019/09/09 21:50:00 UTC

[jira] [Commented] (TINKERPOP-2132) Authentication when using multiple threads fails

    [ https://issues.apache.org/jira/browse/TINKERPOP-2132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16926124#comment-16926124 ] 

ASF GitHub Bot commented on TINKERPOP-2132:
-------------------------------------------

spmallette commented on pull request #1187: TINKERPOP-2132 Authentication eagerly to avoid unauthorized responses
URL: https://github.com/apache/tinkerpop/pull/1187
 
 
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Authentication when using multiple threads fails
> ------------------------------------------------
>
>                 Key: TINKERPOP-2132
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2132
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: driver
>    Affects Versions: 3.3.2
>            Reporter: kaiyangzhang
>            Assignee: stephen mallette
>            Priority: Major
>
> *Scenes:*
>    1. Gremlin Server  Kerberos Authentication
>    2. Multithreading using the same client
>  
> {code:java}
>        DriverRemoteConnection connection = DriverRemoteConnection.using(cluster,"graphbase");
>         GraphTraversalSource g = graph.traversal().withRemote(connection);
>       Thread demo1 = new Thread(new ThreadDemo1(g));
>        Thread demo2 = new Thread(new ThreadDemo1(g));
>        Thread demo3 = new Thread(new ThreadDemo1(g));
>        Thread demo4 = new Thread(new ThreadDemo1(g));
>        Thread demo5 = new Thread(new ThreadDemo1(g));
>       Thread demo6 = new Thread(new ThreadDemo1(g));
>        Thread demo7 = new Thread(new ThreadDemo1(g)); 
>        Thread demo8 = new Thread(new ThreadDemo1(g));
>        Thread demo9 = new Thread(new ThreadDemo1(g));
>        Thread demo10 = new Thread(new ThreadDemo1(g));
> {code}
>  
> *ERROR INFO*
> {code:java}
> Exception in thread "Thread-4" java.util.concurrent.CompletionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Failed to authenticate
>  at java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:375)
>  at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1934)
>  at org.apache.tinkerpop.gremlin.driver.ResultSet.one(ResultSet.java:107)
>  at org.apache.tinkerpop.gremlin.driver.ResultSet$1.hasNext(ResultSet.java:159)
>  at org.apache.tinkerpop.gremlin.driver.ResultSet$1.next(ResultSet.java:166)
>  at org.apache.tinkerpop.gremlin.driver.ResultSet$1.next(ResultSet.java:153)
>  at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal$TraverserIterator.next(DriverRemoteTraversal.java:142)
>  at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal$TraverserIterator.next(DriverRemoteTraversal.java:127)
>  at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal.nextTraverser(DriverRemoteTraversal.java:108)
>  at org.apache.tinkerpop.gremlin.process.remote.traversal.step.map.RemoteStep.processNextStart(RemoteStep.java:80)
>  at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143)
>  at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:192)
>  at com.huawei.graphbase.gremlin.ThreadDemo1.println(ThreadDemo1.java:48)
>  at com.huawei.graphbase.gremlin.ThreadDemo1.run(ThreadDemo1.java:32)
>  at java.lang.Thread.run(Thread.java:748)
>  Caused by: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Failed to authenticate
>  at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
>  at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
>  at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
>  at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
>  at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
>  at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
>  at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
>  at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
>  at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
>  at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
>  at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
>  at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
>  at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
>  at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
>  at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)v[2072680]
>  at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:351)
>  at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:373)
>  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
>  at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
>  at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129)
>  at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:651)
>  at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:574)
>  at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:488)
>  at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:450)
>  at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)
>  ... 1 more{code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)