You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2018/02/25 06:35:00 UTC

[jira] [Commented] (HBASE-13916) Create MultiByteBuffer an aggregation of ByteBuffers

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

stack commented on HBASE-13916:
-------------------------------

[~anoop.hbase] This bit of code needs more test. It does not seem to be doing the right thing....

Doing something like this, it does not seem to be returning the right answers....

{code}
  @Ignore // This test fails.
  @Test
  public void testGetInt() {
    ByteBuffer bb1 = ByteBuffer.allocate(1);
    bb1.put((byte)1);
    ByteBuffer bb2 = ByteBuffer.allocate(1);
    bb2.put((byte)0);
    ByteBuffer bb3 = ByteBuffer.allocate(1);
    bb3.put((byte)0);
    ByteBuffer bb4 = ByteBuffer.allocate(1);
    bb4.put((byte)1);
    MultiByteBuff mbb = new MultiByteBuff(bb1, bb2, bb3, bb4);
    // Value is wrong here ... needs adjusting but code is doing wrong thing.
    assertEquals(256, mbb.getIntAfterPosition(0));
  }
{code}

Ignore the expected answer in the above... just a place holder ... but if I make buffers of one byte, we do not seem to be moving into the next buffer properly... If I make the buffers of two bytes similar. This stuff normally works because we are not spanning buffer boundaries... but if we do, response seems like it could be off sir.

> Create MultiByteBuffer an aggregation of ByteBuffers
> ----------------------------------------------------
>
>                 Key: HBASE-13916
>                 URL: https://issues.apache.org/jira/browse/HBASE-13916
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver, Scanners
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>            Priority: Major
>             Fix For: 2.0.0
>
>         Attachments: HBASE-13916.patch, HBASE-13916_V2.patch, HBASE-13916_V3.patch, HBASE-13916_V4.patch
>
>
> This is an aggregation of N ByteBuffers. The block when served directly by block cache buckets memory, we have the block data split across multiple byte buffers. This aggregate type (like ByteBuffer) will serve the HFileBlock data.
> This jira wil just provide the new data structure



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)