You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Nicolas Spiegelberg (JIRA)" <ji...@apache.org> on 2011/06/15 03:24:47 UTC

[jira] [Commented] (HBASE-3987) Fix a NullPointerException on a failure to load Bloom filter data

    [ 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