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

Varun Sharma commented on HBASE-8401:
-------------------------------------

Going back to your comment about backward compatibility being broken. The code 
goes like this, for serialization:

   {
     this.limit = in.readInt();
     this.offset = in.readInt();
+    this.columnOffset = Bytes.readByteArray(in);
+    if (this.columnOffset.length == 0) {
+      this.columnOffset = null;
+    }
   }
 
   public void write(DataOutput out) throws IOException
   {
     out.writeInt(this.limit);
     out.writeInt(this.offset);
+    Bytes.writeByteArray(out, this.columnOffset);
   }

Here is my understanding of how it impacts compatibility and it maybe wrong..
1) Client has patch but region server does not
In this case, client would marshall extra data which will be discarded by the 
region server

2) Client does not have patch but region server does
In this case, region server would read no additional data and assume the 
columnOffset to be null.

I am okay with introducing a new Filter class for this or otherwise, 
introducing a coprocessor - I am not certain of the performance implications 
but we have been running the Filter implementation in production for a while. 
As far as utility, looking at the other JIRA 8284, there was interest in 
implementing this functionality.

                
> Backport "HBASE-8284 Allow String Offset(s) in ColumnPaginationFilter for 
> bookmark based pagination"
> ----------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8401
>                 URL: https://issues.apache.org/jira/browse/HBASE-8401
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>            Assignee: Varun Sharma
>
> This issue is for discussion of whether or not backport HBASE-8284.  It has 
> been applied to trunk and 0.95.  A patch for 0.94 is over on hbase-8284

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to