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

Refactor metadata operations into a common API

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: