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

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

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0-beta-1, 2.0.0
    • Coprocessors, wal
    • None
    • Reviewed
    • 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.005.patch
          156 kB
          Michael Stack
        2. HBASE-19134.master.004.patch
          156 kB
          Michael Stack
        3. HBASE-19134.master.003.patch
          156 kB
          Michael Stack
        4. HBASE-19134.master.002.patch
          157 kB
          Michael Stack
        5. HBASE-19134.master.001.patch
          161 kB
          Michael Stack

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment