hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yang Jiandan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-6999) PacketReceiver#readChannelFully is in an infinite loop
Date Fri, 05 Sep 2014 02:33:24 GMT

     [ https://issues.apache.org/jira/browse/HDFS-6999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Yang Jiandan updated HDFS-6999:
-------------------------------
    Description: 
In our cluster, we found hbase handler may be never return when it reads hdfs file using RemoteBlockReader2,
and the hander thread occupys 100% cup. wo found this is because PacketReceiver#readChannelFully
is in an infinite loop. the following while never break.

    while (buf.remaining() > 0) {
      int n = ch.read(buf);
      if (n < 0) {
        throw new IOException("Premature EOF reading from " + ch);
      }
    }

  was:
In our cluster, we found hbase handler may be never return when it reads hdfs file using RemoteBlockReader2,
and the hander thread occupys 100% cup. wo found this is because PacketReceiver#readChannelFully
is in an infinite loop. the following while never break.
    while (buf.remaining() > 0) {
      int n = ch.read(buf);
      if (n < 0) {
        throw new IOException("Premature EOF reading from " + ch);
      }
    }


> PacketReceiver#readChannelFully is in an infinite loop
> ------------------------------------------------------
>
>                 Key: HDFS-6999
>                 URL: https://issues.apache.org/jira/browse/HDFS-6999
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode, hdfs-client
>    Affects Versions: 2.4.1
>            Reporter: Yang Jiandan
>            Priority: Critical
>
> In our cluster, we found hbase handler may be never return when it reads hdfs file using
RemoteBlockReader2, and the hander thread occupys 100% cup. wo found this is because PacketReceiver#readChannelFully
is in an infinite loop. the following while never break.
>     while (buf.remaining() > 0) {
>       int n = ch.read(buf);
>       if (n < 0) {
>         throw new IOException("Premature EOF reading from " + ch);
>       }
>     }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message