hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17278) Cell Scanner Implementation to be used by ResultScanner
Date Tue, 13 Dec 2016 05:12:58 GMT

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

Enis Soztutar commented on HBASE-17278:

- Can you remove the DLOG statements (or maybe move them to a debug method): 
+#if 0
 - Let's keep Cell class to be only the data structure, and move parsing / encoding logic
to KeyValueCodec class. We can use the same Codec structure here as well with the Encoder
and Decoder classes.  
 - Normally, CellScanner is an interface in Java with different implementations. {{Result}}
also implements the CellScanner so, it maybe useful to have this to be an abstract base class,
and the KeyValueDecoder to be an implementation. 
 - Let's use ntohs and friends if possible for dealing with endianness. (https://linux.die.net/man/3/ntohs)
rather than SwapByteOrder methods. 
 - Can we do this with zero-copy by overtaking the buffer: 
+void CellScanner::SetData(char *cell_block_data, int data_length) {
+  cell_block_data_.reset(new char[data_length]);
+  std::memcpy(cell_block_data_.get(), cell_block_data, data_length);
+  data_length_ = data_length;
+  cur_pos_ = 0;
The only CellScanner implementation for now will be the scanner that will work on top of the
IPC buffers, so we do not need to memcpy the bytes. Better yet, we should use the https://github.com/facebook/folly/blob/master/folly/io/IOBuf.h
for the CellScanner since that is what will be coming from the network using wangle. 
- Do we need the second Cell wrapper here? 
new Cell(*Cell::ParseCellData(*current_cell_data))

> Cell Scanner Implementation to be used by ResultScanner
> -------------------------------------------------------
>                 Key: HBASE-17278
>                 URL: https://issues.apache.org/jira/browse/HBASE-17278
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Sudeep Sunthankar
>            Assignee: Sudeep Sunthankar
>         Attachments: HBASE-17278.HBASE-14850.v1.patch

This message was sent by Atlassian JIRA

View raw message