HBase
  1. HBase
  2. HBASE-9503

minor optimization for getRowKeyAtOrBefore

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 0.98.0, 0.95.2, 0.94.12, 0.96.1
    • Fix Version/s: None
    • Component/s: regionserver
    • Labels:
      None

      Description

      we could shortcut the getRowKeyAtOrBefore() as quick as we found an exact matching. it'll be reasonable if there're lots of target storefiles.

      It's a minor change, w/o a new test case be made

      1. HBASE-9503.txt
        1 kB
        Liang Xie
      2. HBASE-9503-v2.txt
        2 kB
        Liang Xie

        Issue Links

          Activity

          Hide
          Liang Xie added a comment -

          en, agree with you Sergey Shelukhin, let me close it right now, seems my finding is immature

          Show
          Liang Xie added a comment - en, agree with you Sergey Shelukhin , let me close it right now, seems my finding is immature
          Hide
          Sergey Shelukhin added a comment -

          Hmm, now that I think of it I am not even sure how this thing works with respect to deletes. It would seem that you always need to check all files in case of out-of-order ts-es moreover, when we look at individual scanners we are not processing deletes correctly. It might only be working because it's used on meta, so there's no timestamp magic going on and the updates are not that frequent.
          Wdyt?

          Show
          Sergey Shelukhin added a comment - Hmm, now that I think of it I am not even sure how this thing works with respect to deletes. It would seem that you always need to check all files in case of out-of-order ts-es moreover, when we look at individual scanners we are not processing deletes correctly. It might only be working because it's used on meta, so there's no timestamp magic going on and the updates are not that frequent. Wdyt?
          Hide
          Sergey Shelukhin added a comment -

          lgtm. Actually I am not certain the path for memstore is valid. For files we have them sorted by seqnum so it should be good. For memstore, we can have out-of-order ts, so memstore may not have the latest record.

          Show
          Sergey Shelukhin added a comment - lgtm. Actually I am not certain the path for memstore is valid. For files we have them sorted by seqnum so it should be good. For memstore, we can have out-of-order ts, so memstore may not have the latest record.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12603288/HBASE-9503-v2.txt
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          -1 tests included. The patch doesn't appear to include any new or modified tests.
          Please justify why no new tests are needed for this patch.
          Also please list what manual steps were performed to verify this patch.

          +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to cause Findbugs (version 1.3.9) to fail.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7238//testReport/
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7238//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12603288/HBASE-9503-v2.txt against trunk revision . +1 @author . The patch does not contain any @author tags. -1 tests included . The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to cause Findbugs (version 1.3.9) to fail. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7238//testReport/ Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7238//console This message is automatically generated.
          Hide
          Liang Xie added a comment -

          How about v2, Sergey Shelukhin ?

          Show
          Liang Xie added a comment - How about v2, Sergey Shelukhin ?
          Hide
          Sergey Shelukhin added a comment -

          Might want to use KVComparator, otherwise looks reasonable.

          Show
          Sergey Shelukhin added a comment - Might want to use KVComparator, otherwise looks reasonable.

            People

            • Assignee:
              Liang Xie
              Reporter:
              Liang Xie
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development