[
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)