Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-5974

Scanner retry behavior with RPC timeout on next() seems incorrect

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 0.90.7, 0.92.1, 0.94.0, 0.95.2
    • 0.95.0
    • Client, regionserver
    • None
    • Reviewed
    • Adds a sequence id that is incremented on each Scanner#next invocation so we can distingush calls that arrive out of order. Throws OutOfOrderScannerNextException when we encounter the latter case.

    Description

      I'm seeing the following behavior:

      • set RPC timeout to a short value
      • call next() for some batch of rows, big enough so the client times out before the result is returned
      • the HConnectionManager stuff will retry the next() call to the same server. At this point, one of two things can happen: 1) the previous next() call will still be processing, in which case you get a LeaseException, because it was removed from the map during the processing, or 2) the next() call will succeed but skip the prior batch of rows.

      Attachments

        1. 5974_94-V4.patch
          18 kB
          Ted Yu
        2. 5974_trunk.patch
          30 kB
          Anoop Sam John
        3. 5974_trunk-V2.patch
          30 kB
          Anoop Sam John
        4. 5974_trunk-V3.patch
          32 kB
          Anoop Sam John
        5. HBASE-5974_0.94.patch
          16 kB
          Anoop Sam John
        6. HBASE-5974_94-V2.patch
          18 kB
          Anoop Sam John
        7. HBASE-5974_94-V3.patch
          17 kB
          Anoop Sam John

        Activity

          People

            anoopsamjohn Anoop Sam John
            tlipcon Todd Lipcon
            Votes:
            0 Vote for this issue
            Watchers:
            22 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: