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

Hadoop QA commented on HBASE-8558:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12619777/HBASE-8558-0.94.txt
  against trunk revision .
  ATTACHMENT ID: 12619777

    {color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

    {color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
                        Please justify why no new tests are needed for this 
patch.
                        Also please list what manual steps were performed to 
verify this patch.

    {color:red}-1 patch{color}.  The patch command could not apply the patch.

Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8244//console

This message is automatically generated.

> Add timeout limit for HBaseClient dataOutputStream
> --------------------------------------------------
>
>                 Key: HBASE-8558
>                 URL: https://issues.apache.org/jira/browse/HBASE-8558
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.94.5, 0.94.14
>            Reporter: wanbin
>            Assignee: Liang Xie
>         Attachments: HBASE-8558-0.94.txt
>
>
> I run jstack at client host. The result is below.
> "hbase-tablepool-60-thread-34" daemon prio=10 tid=0x00007f1e65a48000 
> nid=0x5173 runnable [0x00000000579cc000]
>    java.lang.Thread.State: RUNNABLE
>         at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
>         at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210)
>         at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
>         at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>         - locked <0x0000000758cb0780> (a sun.nio.ch.Util$2)
>         - locked <0x0000000758cb0770> (a 
> java.util.Collections$UnmodifiableSet)
>         - locked <0x0000000758cb0548> (a sun.nio.ch.EPollSelectorImpl)
>         at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>         at 
> org.apache.hadoop.net.SocketIOWithTimeout$SelectorPool.select(SocketIOWithTimeout.java:336)
>         at 
> org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:158)
>         at 
> org.apache.hadoop.net.SocketOutputStream.write(SocketOutputStream.java:153)
>         at 
> org.apache.hadoop.net.SocketOutputStream.write(SocketOutputStream.java:114)
>         at 
> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
>         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
>         - locked <0x0000000754e978a0> (a java.io.BufferedOutputStream)
>         at java.io.DataOutputStream.flush(DataOutputStream.java:106)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:620)
>         - locked <0x0000000754e97880> (a java.io.DataOutputStream)
>         at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:975)
>         at 
> org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:86)
>         at $Proxy13.multi(Unknown Source)
>         at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$3$1.call(HConnectionManager.java:1395)
>         at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$3$1.call(HConnectionManager.java:1393)
>         at 
> org.apache.hadoop.hbase.client.ServerCallable.withoutRetries(ServerCallable.java:210)
>         at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$3.call(HConnectionManager.java:1402)
>         at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$3.call(HConnectionManager.java:1390)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> This thread have hung for one hours
> Meanwhile other thread try to close connection
> "IPC Client (1983049639) connection to 
> dump002030.cm6.tbsite.net/10.246.2.30:30020 from admin" daemon prio=10 
> tid=0x00007f1e70674800 nid=0x3d76 waiting for monitor entry 
> [0x000000004bc0f000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
>         - waiting to lock <0x0000000754e978a0> (a 
> java.io.BufferedOutputStream)
>         at java.io.DataOutputStream.flush(DataOutputStream.java:106)
>         at java.io.FilterOutputStream.close(FilterOutputStream.java:140)
>         at org.apache.hadoop.io.IOUtils.cleanup(IOUtils.java:237)
>         at org.apache.hadoop.io.IOUtils.closeStream(IOUtils.java:254)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseClient$Connection.close(HBaseClient.java:715)
>         - locked <0x0000000754e7b818> (a 
> org.apache.hadoop.hbase.ipc.HBaseClient$Connection)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseClient$Connection.run(HBaseClient.java:587)
> dump002030.cm6.tbsite.net is dead regionserver.
> I read  hbase sourececode, discover connection.out doesn't set timeout 
>         this.out = new DataOutputStream
>             (new BufferedOutputStream(NetUtils.getOutputStream(socket)));
> I see this mean epoll_wait will block indefinitely. 



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to