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

Create new client API

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: client
    • Labels:
      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 In Progress 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 Open 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 Open Unassigned  
          8.
          Client session migration Sub-task Resolved Unassigned  
          9.
          Provide API to validate table and namespace names Sub-task Open Unassigned  
          10.
          [API] Better exceptions for invalid table/namespace arg Sub-task Open Unassigned  
          11.
          Use Clirr maven plugin to enforce API compatibility Sub-task Open 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 Open 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 Open Unassigned  
          19.
          Authorization constructors are pretty wonky - String research? Sub-task Open Unassigned  
          20.
          Improve stale-reads with ZooKeeper-backed data Sub-task Open Unassigned  
          21.
          Consider API additions to support non-batch oriented reads/writes Sub-task Open 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

              • Assignee:
                ctubbsii Christopher Tubbs
                Reporter:
                ctubbsii Christopher Tubbs
              • Votes:
                1 Vote for this issue
                Watchers:
                9 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