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

Create new client API

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • client
    • None

    Description

      There are many issues with the current client API, and we've had a lot of lessons learned that could be incorporated into a new one.

      Some of the issues this would address:

      • questions like "What is considered 'Public API'?"
      • automated testing for incompatible API changes
      • provide better support for alternative implementations of pluggable features
      • distinguish between compile-time dependencies and runtime dependencies
      • consistent exception handling
      • consistent/symmetric getters/setters
      • well-defined resource lifecycles
      • better resource management
      • simpler entry point to communicate with Accumulo
      • better support for client-side configuration management
      • logical layout of first class Accumulo objects in the API (Table, User, Scan, Connection)

      Some of these goal may evolve during the development of this feature, and many previously identified issues can be moved to sub-tasks of this one. This ticket is intended to cover the overall feature, but the details will be handled in sub-tasks.

      Attachments

        Issue Links

          1.
          Support external configuration in client API Sub-task Resolved Unassigned  
          2.
          Create client module with essential dependencies Sub-task Resolved Christopher Tubbs  
          3.
          Look into removing hadoop dependencies from client interface Sub-task Open Unassigned  
          4.
          refactor core to reduce client application dependency version conflicts Sub-task Resolved Unassigned  
          5.
          Examples should *only* use public API Sub-task Resolved Unassigned

          100%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 2.5h
          6.
          client library should provide a mechanism for all resources to be cleaned up Sub-task Open Unassigned  
          7.
          User Management API should support appending authorizations Sub-task Resolved Unassigned  
          8.
          Client session migration Sub-task Resolved Unassigned  
          9.
          Provide API to validate table and namespace names Sub-task Resolved Unassigned  
          10.
          [API] Better exceptions for invalid table/namespace arg Sub-task Resolved Unassigned  
          11.
          Use Clirr maven plugin to enforce API compatibility Sub-task Resolved Unassigned  
          12.
          API should use collection-of-bytes representation instead of Text Sub-task Open Christopher Tubbs  
          13.
          Make it easier to connect to acccumulo Sub-task Resolved Unassigned  
          14.
          Create BatchDeleter with a provided BatchWriter instead of creating a new one Sub-task Resolved Unassigned  
          15.
          remove priority setting for scan-time iterators Sub-task Open Unassigned  
          16.
          Create API annotations with well-defined semantics Sub-task Resolved Unassigned  
          17.
          Rename version 1.7.0 to 2.0.0 Sub-task Resolved Unassigned  
          18.
          Allow options through public API for table creation Sub-task Resolved Unassigned  
          19.
          Authorization constructors are pretty wonky - String research? Sub-task Open Unassigned  
          20.
          Improve stale-reads with ZooKeeper-backed data Sub-task Resolved Unassigned  
          21.
          Consider API additions to support non-batch oriented reads/writes Sub-task Resolved Unassigned  
          22.
          Replace String tableName arguments with TableHandle Sub-task Resolved Michael Miller

          100%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 11h
          23.
          Drop the ability to filter column qualifiers natively in the scanner Sub-task Open Christopher Tubbs  

          Activity

            People

              ctubbsii Christopher Tubbs
              ctubbsii Christopher Tubbs
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 14h
                  14h