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