HBase
  1. HBase
  2. HBASE-11667

Comment ClientScanner logic for NSREs.

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.99.0, 2.0.0, 0.94.23, 0.98.6
    • Component/s: None
    • Labels:
      None

      Description

      We ran into an issue with Phoenix where a RegionObserver coprocessor intercepts a scan and returns an aggregate (in this case a count) with a fake row key. It turns out this does not work when the ClientScanner encounters NSREs, as it uses the last key it saw to reset the scanner to try again (which in this case would be the fake key).

      While this is arguably a rare case and one could also argue that a region observer just shouldn't do this... While looking at ClientScanner's code I found this logic not necessary.
      A NSRE occurred because we contacted a region server with a key that it no longer hosts. This is the start key, so it is always correct to retry with this same key. That simplifies the ClientScanner logic and also make this sort of coprocessors possible,

      1. 11667-0.94.txt
        3 kB
        Lars Hofhansl
      2. HBASE-11667-0.98.patch
        4 kB
        Andrew Purtell
      3. 11667-trunk.txt
        5 kB
        Lars Hofhansl
      4. IntegrationTestBigLinkedListWithRegionMovement.patch
        4 kB
        Andrew Purtell
      5. 11667-doc-0.94.txt
        1 kB
        Lars Hofhansl

        Issue Links

          Activity

          Lars Hofhansl made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Lars Hofhansl made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Lars Hofhansl made changes -
          Attachment 11667-doc-0.94.txt [ 12659838 ]
          Lars Hofhansl made changes -
          Attachment 11667-doc-0.94.txt [ 12659835 ]
          Lars Hofhansl made changes -
          Summary Simplify ClientScanner logic for NSREs. Comment ClientScanner logic for NSREs.
          Lars Hofhansl made changes -
          Priority Major [ 3 ] Minor [ 4 ]
          Lars Hofhansl made changes -
          Attachment 11667-doc-0.94.txt [ 12659835 ]
          Andrew Purtell made changes -
          Status Patch Available [ 10002 ] Open [ 1 ]
          Andrew Purtell made changes -
          Link This issue is related to PHOENIX-1146 [ PHOENIX-1146 ]
          Andrew Purtell made changes -
          Andrew Purtell made changes -
          Attachment IntegrationTestBigLinkedListWithRegionMovement.patch [ 12659810 ]
          Andrew Purtell made changes -
          Attachment IntegrationTestBigLinkedListWithRegionMovement.patch [ 12659810 ]
          Lars Hofhansl made changes -
          Attachment 11667-trunk.txt [ 12659778 ]
          Lars Hofhansl made changes -
          Attachment 11667-trunk.txt [ 12659803 ]
          Andrew Purtell made changes -
          Fix Version/s 0.98.6 [ 12327376 ]
          Fix Version/s 0.98.5 [ 12326953 ]
          Andrew Purtell made changes -
          Attachment HBASE-11667-0.98.patch [ 12659790 ]
          Lars Hofhansl made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Lars Hofhansl made changes -
          Attachment 11667-trunk.txt [ 12659778 ]
          Andrew Purtell made changes -
          Fix Version/s 0.98.5 [ 12326953 ]
          Fix Version/s 0.98.6 [ 12327376 ]
          Lars Hofhansl made changes -
          Field Original Value New Value
          Attachment 11667-0.94.txt [ 12659765 ]
          Lars Hofhansl created issue -

            People

            • Assignee:
              Lars Hofhansl
              Reporter:
              Lars Hofhansl
            • Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development