[
https://issues.apache.org/jira/browse/HBASE-3987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13049561#comment-13049561
]
Nicolas Spiegelberg commented on HBASE-3987:
--------------------------------------------
+1.
@Mikhail: please create a patch file
{code}
git diff > HBASE-3987.patch
{code}
and include it as a file attachment instead of putting the patch information in
the release note. Thanks
> 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
>
> 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