Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-2272

Refactor metadata operations into a common API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • None
    • None

    Description

      We have a lot of code that updates/modifies entries in the metadata tables, and provides metadata information for tablets to clients. It'd be better (code readability, modifiability) if we could abstract these metadata operations into a usable API, rather than have separate code spread out for the different kinds of metadata (zookeeper for the root table, root table for the metadata tablets, metadata table for user tablets).

      A single API, with a factory to get the right implementation, depending on which table's metadata is being manipulated, would be much easier to work with and would help avoid bugs related to tablet management, updating table state, etc.

      A minimal API has been added (o.a.a.core.metadata.MetadataServicer) when the root tablet was moved to its own table, as a starting point, but was not fully leveraged due to time constraints.

      To be clear, this improvement is entirely refactoring of internal code. User experience should have no impact (unless it helps find/prevent bugs).

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ctubbsii Christopher Tubbs
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: