[
https://issues.apache.org/jira/browse/HADOOP-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587703#action_12587703
]
Andrzej Bialecki commented on HADOOP-3063:
-------------------------------------------
I'm not sure what to do about the Findbugs warnings. There are two of them, and
both don't make sense to me.
* CN_IDIOM_NO_SUPER_CALL: clone method does not call super.clone() in
BloomFilter.clone() and in DynamicBloomFilter.clone() - how am I supposed to
use Object.clone() here?
* IS2_INCONSISTENT_SYNC: Inconsistent synchronization in
BloomMapFile.initBloomFilter() - this access is not synchronized because it's
called from the constructor. Other accesses are synchronized because the
MapFile methods require synchronization. Should I add "synchronized" to
initBloomFilter(), even though it's not needed there?
> BloomMapFile - fail-fast version of MapFile for sparsely populated key space
> ----------------------------------------------------------------------------
>
> Key: HADOOP-3063
> URL: https://issues.apache.org/jira/browse/HADOOP-3063
> Project: Hadoop Core
> Issue Type: Improvement
> Components: io
> Affects Versions: 0.17.0
> Reporter: Andrzej Bialecki
> Attachments: bloommap-v2.patch, bloommap.patch
>
>
> The need for this improvement arose when working with large ancillary
> MapFile-s (essentially used as external dictionaries). For each invokation of
> map() / reduce() it was necessary to perform several look-ups in these
> MapFile-s, and in case of sparsely populated key-space the cost of finding
> that a key is absent was too high.
> This patch implements a subclass of MapFile that creates a Bloom filter from
> all keys, so that accurate tests for absence of keys can be performed quickly
> and with 100% accuracy.
> Writer.append() operations update a DynamicBloomFilter, which is then
> serialized when the Writer is closed. This filter is loaded in memory when a
> Reader is created. Reader.get() operation first checks the filter for the key
> membership, and if the key is absent it immediately returns null without
> doing any further IO.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.