You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2016/03/24 12:03:25 UTC
[jira] [Comment Edited] (HBASE-15475) Allow TimestampsFilter to
provide a seek hint
[ https://issues.apache.org/jira/browse/HBASE-15475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15210076#comment-15210076 ]
Duo Zhang edited comment on HBASE-15475 at 3/24/16 11:03 AM:
-------------------------------------------------------------
The TestHFile.testShortMidpointSameQual added by this patch can not pass...
{code:title=TestHFile.java}
@Test
public void testShortMidpointSameQual() {
Cell left = CellUtil.createCell(Bytes.toBytes("a"),
Bytes.toBytes("a"),
Bytes.toBytes("a"),
9,
KeyValue.Type.Maximum.getCode(),
HConstants.EMPTY_BYTE_ARRAY);
Cell right = CellUtil.createCell(Bytes.toBytes("a"),
Bytes.toBytes("a"),
Bytes.toBytes("a"),
11,
KeyValue.Type.Maximum.getCode(),
HConstants.EMPTY_BYTE_ARRAY);
Cell mid = HFileWriterImpl.getMidpoint(CellComparator.COMPARATOR, left, right);
assertTrue(CellComparator.COMPARATOR.compareKeyIgnoresMvcc(left, mid) <= 0); // <==== fail at this line
assertTrue(CellComparator.COMPARATOR.compareKeyIgnoresMvcc(mid, right) == 0);
}
{code}
I think the problem is your left cell is greater than your right cell since we sort timestamps in descending order? [~eclark]
Thanks.
was (Author: apache9):
The TestHFile.testShortMidpointSameQual added by this patch can not pass...
{code:title=TestHFile.java}
@Test
public void testShortMidpointSameQual() {
Cell left = CellUtil.createCell(Bytes.toBytes("a"),
Bytes.toBytes("a"),
Bytes.toBytes("a"),
9,
KeyValue.Type.Maximum.getCode(),
HConstants.EMPTY_BYTE_ARRAY);
Cell right = CellUtil.createCell(Bytes.toBytes("a"),
Bytes.toBytes("a"),
Bytes.toBytes("a"),
11,
KeyValue.Type.Maximum.getCode(),
HConstants.EMPTY_BYTE_ARRAY);
Cell mid = HFileWriterImpl.getMidpoint(CellComparator.COMPARATOR, left, right);
assertTrue(CellComparator.COMPARATOR.compareKeyIgnoresMvcc(left, mid) <= 0); // <==== fail at this line
assertTrue(CellComparator.COMPARATOR.compareKeyIgnoresMvcc(mid, right) == 0);
}
{code}
I think the problem is your left cell is larger than your right cell since we sort timestamps in descending order? [~eclark]
Thanks.
> Allow TimestampsFilter to provide a seek hint
> ---------------------------------------------
>
> Key: HBASE-15475
> URL: https://issues.apache.org/jira/browse/HBASE-15475
> Project: HBase
> Issue Type: Improvement
> Components: Client, Filters, regionserver
> Affects Versions: 1.3.0
> Reporter: Elliott Clark
> Assignee: Elliott Clark
> Fix For: 2.0.0, 1.3.0, 1.4.0
>
> Attachments: HBASE-15475-branch-1.patch, HBASE-15475-v1.patch, HBASE-15475-v2.patch, HBASE-15475-v3.patch, HBASE-15475-v4.patch, HBASE-15475-v5.patch, HBASE-15475.patch
>
>
> If a user wants to read specific timestamps currently it's a very linear scan. This is so that all deletes can be respected. However if the user doesn't care about deletes it can dramatically speed up the request to seek.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)