You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Allan Yang (JIRA)" <ji...@apache.org> on 2018/10/22 08:26:00 UTC

[jira] [Updated] (HBASE-21357) RS should abort if OOM in Reader thread

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

Allan Yang updated HBASE-21357:
-------------------------------
    Description: 
It is a bit strange, we will abort the RS if OOM in Listener thread, Responder thread and in CallRunner thread, only not in Reader thread... 
We should abort RS if OOM happens in Reader thread, too. If not, the reader thread exists because of OOM, and the selector closes. Later connection select to this reader will be ignored
{code}
try {
              if (key.isValid()) {
                if (key.isAcceptable())
                  doAccept(key);
              }
            } catch (IOException ignored) {
              if (LOG.isTraceEnabled()) LOG.trace("ignored", ignored);
            }
{code}
Leaving the client (or Master and other RS)'s call wait until SocketTimeout.

  was:
It is a bit strange, we will abort the RS if OOM in Listener thread, Responder thread and in CallRunner thread, only not in Reader thread... 
We should abort RS if OOM happens in Reader thread, too. If not, the reader thread exists because of OOM, and the selector closes. Later connection select to this reader will be ignored
{quote}
try {
              if (key.isValid()) {
                if (key.isAcceptable())
                  doAccept(key);
              }
            } catch (IOException ignored) {
              if (LOG.isTraceEnabled()) LOG.trace("ignored", ignored);
            }
{quote}
Leaving the client (or Master and other RS)'s call wait until SocketTimeout.


> RS should abort if OOM in Reader thread
> ---------------------------------------
>
>                 Key: HBASE-21357
>                 URL: https://issues.apache.org/jira/browse/HBASE-21357
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.4.8
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>            Priority: Major
>
> It is a bit strange, we will abort the RS if OOM in Listener thread, Responder thread and in CallRunner thread, only not in Reader thread... 
> We should abort RS if OOM happens in Reader thread, too. If not, the reader thread exists because of OOM, and the selector closes. Later connection select to this reader will be ignored
> {code}
> try {
>               if (key.isValid()) {
>                 if (key.isAcceptable())
>                   doAccept(key);
>               }
>             } catch (IOException ignored) {
>               if (LOG.isTraceEnabled()) LOG.trace("ignored", ignored);
>             }
> {code}
> Leaving the client (or Master and other RS)'s call wait until SocketTimeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)