You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@fluo.apache.org by GitBox <gi...@apache.org> on 2017/10/26 21:20:32 UTC

[GitHub] keith-turner commented on issue #962: Using TimestampSkipping iterator in RollbackCheckIterator

keith-turner commented on issue #962: Using TimestampSkipping iterator in RollbackCheckIterator
URL: https://github.com/apache/fluo/pull/962#issuecomment-339804489
 
 
   @llvieira there is a bit more that needs to be done for this issue.  In the while loop in the seek method, need to use the timestampskipping iterator to jump ahead.   When the colType is TX_DONE, can do the following :
   
    ```java
         if (colType == ColumnConstants.TX_DONE_PREFIX) {
           # jump to WRITE skipping all TX_DONE
           source.skipToPrefix(range.getStartKey(), ColumnConstants.WRITE_PREFIX);
         } else if (colType == ColumnConstants.WRITE_PREFIX) {
    ```
   
   For `WRITE_PREFIX` we can jump ahead to `DEL_LOCK_PREFIX` when lockTime > timePtr.  For `DEL_LOCK_PREFIX` we can jump to `LOCK_PREFIX` when lockTime > ts.
   
   The background on this is that the column prefixs are in sorted order (descending sort of signed long and the prefix is the 1st three bits).   There could be lots of column prefixes and once we determine that nothing else in the current prefix is useful then we can seek to the next possible prefix.  This has the potential to seek over a lot of prefixes.   The code is currently doing a linear scan of all column prefixes.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services