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

Re-visit the WAL API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Implemented
    • None
    • None
    • wal
    • None

    Description

      Take a step back from the current WAL implementations and think about what an HBase WAL API should look like. What are the primitive calls that we require to guarantee durability of writes with a high degree of performance?

      The API needs to take the current implementations into consideration. We should also have a mind for what is happening in the Ratis LogService (but the LogService should not dictate what HBase's WAL API looks like RATIS-272).

      Other "systems" inside of HBase that use WALs are replication and backup&restore. Replication has the use-case for "tail"'ing the WAL which we should provide via our new API. B&R doesn't do anything fancy (IIRC). We should make sure all consumers are generally going to be OK with the API we create.

      The API may be "OK" (or OK in a part). We need to also consider other methods which were "bolted" on such as AbstractFSWAL and WALFileLengthProvider. Other corners of "WAL use" (like the WALSplitter should also be looked at to use WAL-APIs only).

      We also need to make sure that adequate interface audience and stability annotations are chosen.

      Attachments

        1. 20952.v1.txt
          326 kB
          Ted Yu

        Issue Links

          Activity

            People

              Unassigned Unassigned
              elserj Josh Elser
              Votes:
              0 Vote for this issue
              Watchers:
              28 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: