Tests that use RegionServer.openRegion such as TestHBaseFsck#testHBaseFsck 
should call openRegion synchronously
---------------------------------------------------------------------------------------------------------------

                 Key: HBASE-4852
                 URL: https://issues.apache.org/jira/browse/HBASE-4852
             Project: HBase
          Issue Type: Bug
          Components: regionserver
    Affects Versions: 0.92.0, 0.94.0
            Reporter: Jonathan Hsieh


Certain test cases like HBaseFsck#testHBaseFsck make calls to assign region 
servers and then read meta.  The tests or hbck should be modified to make the 
RegionServer.openRegion call act synchronously.

The main issue isn't what is returned, but when.  Specifically in 
HBaseFsck#testHBaseFsck, the first 'hbck -fix', the master makes a call to the 
regionserver to issue an asynchronous request to open the region (which adds 
data to meta).  The regionserver returns right away.  The next hbck call will 
cause the master query meta again which is used to check consistency.  A race 
is exposed -- sometimes the new meta entries are fixed before the second hbck 
call is done (failing the test), sometimes it is not (not failing).

The hack in HBASE-4842 introduces a slight delay which usually allows the open 
request to finish and the meta entry to be updated before the subsequent 'hbck' 
call.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to