[ 
https://issues.apache.org/jira/browse/HBASE-3987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mikhail Bautin updated HBASE-3987:
----------------------------------

    Attachment: HBASE-3987.patch

Attaching a patch.

> 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.89.20100621, 0.89.20100924, 0.90.0, 0.90.1, 0.90.2, 
> 0.90.3
>            Reporter: Mikhail Bautin
>            Assignee: Mikhail Bautin
>             Fix For: 0.94.0
>
>         Attachments: HBASE-3987.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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