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

Put back getClosestRowBefore and throw UnknownProtocolException instead... for asynchbase client

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Component/s: compatibility, Operability
    • Labels:
      None
    • Release Note:
      Hide
      Throw UnknownProtocolException if a client connects and tries to invoke the old getClosestRowOrBefore method. Pre-hbase-1.0.0 or asynchbase do this instead of using its replacement, the reverse Scan.

      getClosestRowOrBefore was implemented as a flag on Get. Before this patch though the flag was set, hbase2 were ignoring it. This made it look like a pre-1.0.0 client was 'working' but then it'd fail finding the appropriate Region for a client-specified row doing lookups into hbase:meta.
      Show
      Throw UnknownProtocolException if a client connects and tries to invoke the old getClosestRowOrBefore method. Pre-hbase-1.0.0 or asynchbase do this instead of using its replacement, the reverse Scan. getClosestRowOrBefore was implemented as a flag on Get. Before this patch though the flag was set, hbase2 were ignoring it. This made it look like a pre-1.0.0 client was 'working' but then it'd fail finding the appropriate Region for a client-specified row doing lookups into hbase:meta.

      Description

      asychbase can work against all hbase versions. This fact has saved us a few times; e.g. LINE were able to migrate from 0.94 to 1.2 going in part via asynchbase and its ability to work against all servers.

      hbase2 breaks this ability of asynchbase. There is nothing for asynchbase to figure definitively that it is talking to an hbase2 server (See HBASE-20225). Lets add back something it can leverage. HBASE-13954 did a nice job purging getClosestRowBefore. Lets put back an RPC stuff that throws an exception if it gets called. Thats enough for asynchbase.

        Attachments

        1. HBASE-20237.branch-2.002.patch
          5 kB
          Michael Stack
        2. HBASE-20237.branch-2.001.patch
          5 kB
          Michael Stack

          Activity

            People

            • Assignee:
              stack Michael Stack
              Reporter:
              stack Michael Stack
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: