Fix a NullPointerException on a failure to load Bloom filter data
-----------------------------------------------------------------

                 Key: HBASE-3987
                 URL: https://issues.apache.org/jira/browse/HBASE-3987
             Project: HBase
          Issue Type: Bug
          Components: regionserver
    Affects Versions: 0.90.3, 0.90.2, 0.90.1, 0.90.0, 0.89.20100924, 
0.89.20100621
            Reporter: Mikhail Bautin
            Assignee: Mikhail Bautin
             Fix For: 0.94.0


This is a fix for an NullPointerException that happens in passesBloomFilter. 
The meta block fails to load, and the IOException catch block sets the Bloom 
filter to null. Then all other threads waiting on the Bloom filter to load get 
a chance to try to load the meta block, and one of them eventually succeeds and 
goes on to query the Bloom filter in StoreFile.passesBloomFilter, but 
bloomFilter has been already set to null. The fix is to cache the bloomFilter 
variable in a local variable in passesBloomFilter so that it cannot be made 
null while the thread is waiting for another thread to load Bloom filter bits.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to