[ https://issues.apache.org/jira/browse/ACCUMULO-4197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Drob updated ACCUMULO-4197: -------------------------------- Fix Version/s: (was: 1.7.2) 1.7.3 > Intermittent failure of HalfDeadTServerIT > ----------------------------------------- > > Key: ACCUMULO-4197 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4197 > Project: Accumulo > Issue Type: Bug > Components: test > Reporter: Josh Elser > Priority: Minor > Fix For: 1.6.6, 1.7.3, 1.8.0 > > > I observed an intermittent failure of HalfDeadTServerIT#testRecover today. > This test "injects" pauses to the C read and write calls inside of tserver. > testRecover injects a pause of 10 seconds to show that the TServer can > reconnect to ZK (and not lose its session). > However, with an RPC timeout of 5 seconds, if a minor compaction is > triggered, this pause will cause a compaction to take >10 seconds which will > trigger the "hold timeout" causing an exception to be thrown to the client. > {noformat} > 2016-04-20 03:39:26,999 [tserver.TabletServer$ThriftClientHandler] ERROR: > Commits are held > org.apache.accumulo.tserver.HoldTimeoutException: Commits are held > at > org.apache.accumulo.tserver.TabletServerResourceManager.waitUntilCommitsAreEnabled(TabletServerResourceManager.java:493) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:805) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:962) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.accumulo.core.trace.wrappers.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.rpc.RpcWrapper$1.invoke(RpcWrapper.java:73) > at com.sun.proxy.$Proxy21.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2446) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2430) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.rpc.TimedProcessor.process(TimedProcessor.java:63) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at > org.apache.accumulo.server.rpc.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:78) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at > org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35) > at java.lang.Thread.run(Thread.java:745) > {noformat} > I believe this is intermittent based on whether or not a minor compaction is > triggered after the i/o pausing is triggered or not. We could probably work > around this by increasing the threshold for running a minor compaction. -- This message was sent by Atlassian JIRA (v6.3.4#6332)