[
https://issues.apache.org/jira/browse/HBASE-10338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15414626#comment-15414626
]
Guanghao Zhang commented on HBASE-10338:
----------------------------------------
We found NPE in our 0.98 production cluster because RegionServerCoprocessorHost
is not initialized before RpcServer start service.
{code}
// Try and register with the Master; tell it we are here. Break if
// server is stopped or the clusterup flag is down or hdfs went wacky.
while (keepLooping()) {
RegionServerStartupResponse w = reportForDuty();
if (w == null) {
LOG.warn("reportForDuty failed; sleeping and then retrying.");
this.sleeper.sleep();
} else {
handleReportForDutyResponse(w);
break;
}
}
// Initialize the RegionServerCoprocessorHost now that our ephemeral
// node was created by reportForDuty, in case any coprocessors want
// to use ZooKeeper
this.rsHost = new RegionServerCoprocessorHost(this, this.conf);
{code}
RpcServer start service in handleReportForDutyResponse(), then it can serve rpc
call replicateWALEntry(). But the RegionServerCoprocessorHost is not
initialized and it is used in replicateWALEntry, so it will throw a NPE.
> Region server fails to start with AccessController coprocessor if installed
> into RegionServerCoprocessorHost
> ------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-10338
> URL: https://issues.apache.org/jira/browse/HBASE-10338
> Project: HBase
> Issue Type: Bug
> Components: Coprocessors, regionserver
> Affects Versions: 0.98.0
> Reporter: Vandana Ayyalasomayajula
> Assignee: Vandana Ayyalasomayajula
> Priority: Minor
> Fix For: 0.98.0, 0.96.2, 0.99.0
>
> Attachments: 10338.1-0.96.patch, 10338.1-0.98.patch, 10338.1.patch,
> 10338.1.patch, HBASE-10338.0.patch, HBASE-10338_addendum.patch
>
>
> Runtime exception is being thrown when AccessController CP is used with
> region server. This is happening as region server co processor host is
> created before zookeeper is initialized in region server.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)