You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Alexey Serbin (JIRA)" <ji...@apache.org> on 2017/09/20 19:23:00 UTC
[jira] [Commented] (KUDU-1521) Flakiness in TestAsyncKuduSession
[ https://issues.apache.org/jira/browse/KUDU-1521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16173712#comment-16173712 ]
Alexey Serbin commented on KUDU-1521:
-------------------------------------
Just another error path is outlined below:
{noformat}
18:16:39.348 [DEBUG - New I/O worker #69] (AsyncKuduClient.java:950) Notify RPC Batch{operations=1, tablet="5ceb1b36c63b4045be78db7318693bc3" [<start>, <end>), ignoreAllDuplicateRows=false, rpc=KuduRpc(method=Write, tablet=null, attempt=1, DeadlineTracker(timeout=30000, elapsed=2), Traces: [0ms] querying master, [0ms] Sub rpc: GetTableLocations sending RPC to server , [2ms] Sub rpc: GetTableLocations received from server response Not found: The table was deleted: Table deleted at 2017-09-20 18:16:38 UTC (error 0), Deferred@509465434(state=PENDING, result=null, callback=apply batch response, errback=apply batch error response))} after lookup exception
org.apache.kudu.client.NonRecoverableException: The table was deleted: Table deleted at 2017-09-20 18:16:38 UTC
at org.apache.kudu.client.RpcProxy.dispatchMasterError(RpcProxy.java:360)
at org.apache.kudu.client.RpcProxy.responseReceived(RpcProxy.java:253)
at org.apache.kudu.client.RpcProxy.access$000(RpcProxy.java:60)
at org.apache.kudu.client.RpcProxy$1.call(RpcProxy.java:132)
at org.apache.kudu.client.RpcProxy$1.call(RpcProxy.java:128)
at org.apache.kudu.client.Connection.messageReceived(Connection.java:375)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.apache.kudu.client.Connection.handleUpstream(Connection.java:239)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.timeout.ReadTimeoutHandler.messageReceived(ReadTimeoutHandler.java:184)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{noformat}
I'm attaching the test log in the org.apache.kudu.client.TestAsyncKuduSession-TableIsDeleted-output.txt file.
> Flakiness in TestAsyncKuduSession
> ---------------------------------
>
> Key: KUDU-1521
> URL: https://issues.apache.org/jira/browse/KUDU-1521
> Project: Kudu
> Issue Type: Bug
> Components: client
> Affects Versions: 0.9.1
> Reporter: Adar Dembo
> Attachments: org.apache.kudu.client.TestAsyncKuduSession-output.txt
>
>
> I've been trying to parse the various failures in http://104.196.14.100/job/kudu-gerrit/2270/BUILD_TYPE=RELEASE. Here's what I see in the test:
> The way test() tests AUTO_FLUSH_BACKGROUND is inherently flaky; a delay while running test code will give the background flush task a chance to fire when the test code doesn't expect it. I've seen this cause lead to no PleaseThrottleException, but I suspect the first block of test code dealing with background flushes is flaky too (since it's testing elapsed time).
> There's also some test failures that I can't figure out. I've pasted them below for posterity:
> {noformat}
> 03:52:14 testGetTableLocationsErrorCauseSessionStuck(org.kududb.client.TestAsyncKuduSession) Time elapsed: 100.009 sec <<< ERROR!
> 03:52:14 java.lang.Exception: test timed out after 100000 milliseconds
> 03:52:14 at java.lang.Object.wait(Native Method)
> 03:52:14 at java.lang.Object.wait(Object.java:503)
> 03:52:14 at com.stumbleupon.async.Deferred.doJoin(Deferred.java:1136)
> 03:52:14 at com.stumbleupon.async.Deferred.join(Deferred.java:1019)
> 03:52:14 at org.kududb.client.TestAsyncKuduSession.testGetTableLocationsErrorCauseSessionStuck(TestAsyncKuduSession.java:133)
> 03:52:14
> 03:52:14 testBatchErrorCauseSessionStuck(org.kududb.client.TestAsyncKuduSession) Time elapsed: 0.199 sec <<< ERROR!
> 03:52:14 org.kududb.client.MasterErrorException: Server[Kudu Master - 127.13.215.1:64030] NOT_FOUND[code 1]: The table was deleted: Table deleted at 2016-07-09 03:50:24 UTC
> 03:52:14 at org.kududb.client.TabletClient.dispatchMasterErrorOrReturnException(TabletClient.java:533)
> 03:52:14 at org.kududb.client.TabletClient.decode(TabletClient.java:463)
> 03:52:14 at org.kududb.client.TabletClient.decode(TabletClient.java:83)
> 03:52:14 at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500)
> 03:52:14 at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
> 03:52:14 at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> 03:52:14 at org.kududb.client.TabletClient.handleUpstream(TabletClient.java:638)
> 03:52:14 at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> 03:52:14 at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
> 03:52:14 at org.jboss.netty.handler.timeout.ReadTimeoutHandler.messageReceived(ReadTimeoutHandler.java:184)
> 03:52:14 at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> 03:52:14 at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> 03:52:14 at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
> 03:52:14 at org.kududb.client.AsyncKuduClient$TabletClientPipeline.sendUpstream(AsyncKuduClient.java:1877)
> 03:52:14 at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
> 03:52:14 at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
> 03:52:14 at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
> 03:52:14 at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
> 03:52:14 at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
> 03:52:14 at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
> 03:52:14 at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
> 03:52:14 at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
> 03:52:14 at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
> 03:52:14 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 03:52:14 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 03:52:14 at java.lang.Thread.run(Thread.java:745)
> 03:52:14
> 03:52:14 org.kududb.client.TestAsyncKuduSession Time elapsed: 0.23 sec <<< ERROR!
> 03:52:14 java.lang.Exception: Can't recover from error, see previous WARN
> 03:52:14 at org.kududb.client.BaseKuduTest$2.call(BaseKuduTest.java:290)
> 03:52:14 at com.stumbleupon.async.Deferred.doCall(Deferred.java:1280)
> 03:52:14 at com.stumbleupon.async.Deferred.runCallbacks(Deferred.java:1259)
> 03:52:14 at com.stumbleupon.async.Deferred.callback(Deferred.java:1002)
> 03:52:14 at com.stumbleupon.async.DeferredGroup.done(DeferredGroup.java:169)
> 03:52:14 at com.stumbleupon.async.DeferredGroup.recordCompletion(DeferredGroup.java:142)
> 03:52:14 at com.stumbleupon.async.DeferredGroup.access$000(DeferredGroup.java:36)
> 03:52:14 at com.stumbleupon.async.DeferredGroup$1Notify.call(DeferredGroup.java:82)
> 03:52:14 at com.stumbleupon.async.Deferred.doCall(Deferred.java:1280)
> 03:52:14 at com.stumbleupon.async.Deferred.runCallbacks(Deferred.java:1259)
> 03:52:14 at com.stumbleupon.async.Deferred.access$300(Deferred.java:427)
> 03:52:14 at com.stumbleupon.async.Deferred$Continue.call(Deferred.java:1368)
> 03:52:14 at com.stumbleupon.async.Deferred.doCall(Deferred.java:1280)
> 03:52:14 at com.stumbleupon.async.Deferred.runCallbacks(Deferred.java:1259)
> 03:52:14 at com.stumbleupon.async.Deferred.callback(Deferred.java:1002)
> 03:52:14 at org.kududb.client.AsyncKuduSession$TabletLookupCB$1.call(AsyncKuduSession.java:382)
> 03:52:14 at org.kududb.client.AsyncKuduSession$TabletLookupCB$1.call(AsyncKuduSession.java:378)
> 03:52:14 at com.stumbleupon.async.Deferred.doCall(Deferred.java:1280)
> 03:52:14 at com.stumbleupon.async.Deferred.runCallbacks(Deferred.java:1259)
> 03:52:14 at com.stumbleupon.async.Deferred.callback(Deferred.java:1002)
> 03:52:14 at com.stumbleupon.async.DeferredGroup.done(DeferredGroup.java:169)
> 03:52:14 at com.stumbleupon.async.DeferredGroup.recordCompletion(DeferredGroup.java:142)
> 03:52:14 at com.stumbleupon.async.DeferredGroup.access$000(DeferredGroup.java:36)
> 03:52:14 at com.stumbleupon.async.DeferredGroup$1Notify.call(DeferredGroup.java:82)
> 03:52:14 at com.stumbleupon.async.Deferred.doCall(Deferred.java:1280)
> 03:52:14 at com.stumbleupon.async.Deferred.runCallbacks(Deferred.java:1259)
> 03:52:14 at com.stumbleupon.async.Deferred.handleContinuation(Deferred.java:1315)
> 03:52:14 at com.stumbleupon.async.Deferred.doCall(Deferred.java:1286)
> 03:52:14 at com.stumbleupon.async.Deferred.runCallbacks(Deferred.java:1259)
> 03:52:14 at com.stumbleupon.async.Deferred.callback(Deferred.java:1002)
> 03:52:14 at org.kududb.client.KuduRpc.handleCallback(KuduRpc.java:195)
> 03:52:14 at org.kududb.client.KuduRpc.errback(KuduRpc.java:215)
> 03:52:14 at org.kududb.client.TabletClient.decode(TabletClient.java:484)
> 03:52:14 at org.kududb.client.TabletClient.decode(TabletClient.java:83)
> 03:52:14 at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500)
> 03:52:14 at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
> 03:52:14 at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> 03:52:14 at org.kududb.client.TabletClient.handleUpstream(TabletClient.java:638)
> 03:52:14 at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> 03:52:14 at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
> 03:52:14 at org.jboss.netty.handler.timeout.ReadTimeoutHandler.messageReceived(ReadTimeoutHandler.java:184)
> 03:52:14 at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> 03:52:14 at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> 03:52:14 at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
> 03:52:14 at org.kududb.client.AsyncKuduClient$TabletClientPipeline.sendUpstream(AsyncKuduClient.java:1877)
> 03:52:14 at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
> 03:52:14 at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
> 03:52:14 at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
> 03:52:14 at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
> 03:52:14 at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
> 03:52:14 at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
> 03:52:14 at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
> 03:52:14 at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
> 03:52:14 at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
> 03:52:14 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 03:52:14 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 03:52:14 at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)