accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Drob (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ACCUMULO-4197) Intermittent failure of HalfDeadTServerIT
Date Thu, 26 May 2016 16:26:12 GMT

     [ 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)

Mime
View raw message