Description
All of our client operations work by table name. This present awkward cases around renames. A solution to this is making all operations work around table IDs, but this isn't user friendly. A middle ground is introducing a TableHandle, which is a container for the user to use, with the implication that if a rename happens, the operations will follow the table. This is similar to how filesystems deal with renames.
This way we have the translation between table name->id done VERY early on and done explicitly to the users knowledge so they can make guarantees about operations.
I would see there being an operation added for getTableHandle which takes the name and then that handle is used for all future operations.
By putting things in a TableHandle, we can have a minor first pass which ges the API in place and then we can work on ensuring no name->id mapping occurs deeper in the server to help make sure things are consistent.
Attachments
Issue Links
- is related to
-
ACCUMULO-4662 Fix ambiguous table references
- Resolved
- links to