Hi HBase developers,

I'd like to request a review for HBASE-30099:


JIRA:
https://issues.apache.org/jira/browse/HBASE-30099


Pull request:
https://github.com/apache/hbase/pull/8483


The PR has been open since July 19 and has not received a review yet. The 
forked GitHub Actions workflows also appear not to have started and may still 
require approval from someone with write access.


The issue is a RegionServer startup race. The RPC server can accept a 
GetBootstrapNodes request before preRegistrationInitialization() assigns 
bootstrapNodeManager, causing HRegionServer#getBootstrapNodes to throw an NPE.


The patch:


* returns an empty iterator before BootstrapNodeManager initialization;
* declares the manager reference volatile for publication to RPC threads;
* preserves the existing behavior after initialization;
* adds a regression test for the pre-initialization call.


The targeted Maven test passes:


mvn -pl hbase-server -am \
  -Dtest=TestBootstrapNodeManager \
  -Dsurefire.failIfNoSpecifiedTests=false \
  -DskipITs \
  test


I would especially appreciate feedback on whether an empty bootstrap-node 
result is the correct behavior during this short startup window.


Could a committer please approve the workflows and review the patch when 
convenient?


Thanks, 
Zhengxuan Ma


Pluto
[email protected]

Reply via email to