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

Make WALKey an Interface; expose Read-Only version to CPs

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0-beta-1, 2.0.0
    • Component/s: Coprocessors, wal
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Release Note:
      Made WALKey an Interface and added a WALKeyImpl implementation. WALKey comes through to Coprocessors. WALKey is read-only.

      Description

      WALKey has been made IA.Private in hbase2. Even so, given we don't have an alternative to expose at this time, it is exposed to coprocessors still at a few (now deprecated) locations.

      In review of HBASE-18770, Chia-Ping Tsai makes reasonable suggestion that what we expose to CPs be a read-only WALKey. He gets pushback on doing this for hbase2 (Do we even want to expose WALKey to CPs, is WALKey right going forward, etc.). Chia-Ping comes back w/ the below (copied from HBASE-18770):

      What we want to fix for WALKey are shown below.

      • expose some methods to CP user safety
      • refactor/redo

      As I see it, adding an interface exposed to CP user for WALKey is a right choice because it can bring some benefit.

      • We can expose part of WALKey's methods to CP users - a read-only interface or an interface with some modifiable setting.
      • The related CP hooks won't be deprecated
      • Doing the refactor for WALKey doesn't essentially impact the CP hook after 2.0 release.

      Although, it will be better to redo WALKey before 2.0 release. In short, I think it warrants such an interface.

      (We both agree this would be a load of work given WALKey is written to HFiles. Warrants a look though).

        Attachments

        1. HBASE-19134.master.001.patch
          161 kB
          Michael Stack
        2. HBASE-19134.master.002.patch
          157 kB
          Michael Stack
        3. HBASE-19134.master.003.patch
          156 kB
          Michael Stack
        4. HBASE-19134.master.004.patch
          156 kB
          Michael Stack
        5. HBASE-19134.master.005.patch
          156 kB
          Michael Stack

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: