Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
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
- breaks
-
ACCUMULO-4517 tool.sh broken after removal of accumulo-trace module
- Resolved
- is related to
-
ACCUMULO-2915 Avoid copying all Mutations when using a TabletServerBatchWriter
- Open
-
ACCUMULO-3268 HoldTimeoutException is poorly propagated to clients
- Resolved
-
ACCUMULO-4838 Create SPI package
- Resolved
- relates to
-
ACCUMULO-1268 add client wide timeout setting
- Open
-
ACCUMULO-2590 Update public API in readme to clarify what's included
- Resolved
- supercedes
-
ACCUMULO-1578 Connector constructor doesn't need to fail-fast (maybe?)
- Resolved