hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13510) Refactor Bloom filters to make use of Cell Comparators in case of ROW_COL
Date Mon, 11 May 2015 08:16:59 GMT

    [ https://issues.apache.org/jira/browse/HBASE-13510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14537704#comment-14537704
] 

ramkrishna.s.vasudevan commented on HBASE-13510:
------------------------------------------------

bq.As I asked above, can we just use this util way within the used area only? Just avoid this
API from interface/class?
Okie we can move this to a local area.
bq.till ByteBloomFilter is in use and used to store some state(in this patch) .Can we avoid
it fully ?
May be we can rename Bytebloomfilter to something else? The CompoundBloomFilter needs to have
a bloom chunk to actually do this bloom filter related things.
[~stack]
bq.Sounds good. What we going to use instead?
We are using in this patch compare(Cell, cell).
bq.We can't have Blooms use Cells? There'd be a copy of the row bytes if Cell or something?
Yes we will always have copy of byte[] for the ROW_COL case of blooms.  For the ROW bloom
only the row part of the cell is enough.  So for such bloom we could use the Bytes.BYTES_RAWCOMPARATOR.
 Only for ROW_COL we would need this Cell based comparison - the bloom being formed from the
row and col of the Keyvalue.
bq.We have to do this? We only use the row and column portions? Or we hash whole key part
in bloom?
Only row and col portion but we form that as a keyvalue and use the key part formed from such
a keyvalue.  
bq.Why is that when bloom is for row/column? We put whole key in there?
See the above reply.
bq.Can you redo the above
We were using BytebloomFilter in V1, since V2 everything is a CompoundBloom.  So we are removing
the usage of ByteBloomfilter here (as a BloomFilter type).  Both the blooms were dealing with
byte[] only.  Now this patch tries to deal only with CompoundBloomFilter with ROW and ROW_COL
as the type and the ROW_COL depends on the CellComparator whereas the ROW depends on Bytes.Byte_RAWCOMPARATOR.

> Refactor Bloom filters to make use of Cell Comparators in case of ROW_COL
> -------------------------------------------------------------------------
>
>                 Key: HBASE-13510
>                 URL: https://issues.apache.org/jira/browse/HBASE-13510
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 2.0.0
>
>         Attachments: HBASE-13510_1.patch, HBASE-13510_2.patch
>
>
> In order to address the comments over in HBASE-10800 related to comparing Cell with a
serialized KV's key we had some need for that in Bloom filters.  After discussing with Anoop,
we found that it may be possible to remove/modify some of the APIs in the BloomFilter interfaces
and for doing that we can purge ByteBloomFilter.  
> I read the code and found that ByteBloomFilter was getting used in V1 version only. 
Now as it is obsolete we can remove this code and move some of the static APIs in ByteBloomFilter
to some other util class or bloom related classes which will help us in refactoring the code
too.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message