cshannon opened a new pull request, #5274: URL: https://github.com/apache/accumulo/pull/5274
This is a follow on PR to #5187 for Issue #5014 This commit adds the first part of the needed client API changes to support setting `TabletMergeability` on splits. Two inital updates have been made to support table creation and adding splits later. 1) A new `withSplits(map)` method has been added to `NewTableConfiguration` that takes a map of splits and associated `TabletMergeability`. The exiting `withSplits(set)` method that takes a set just delegates to the new method and sets a default for `TabletMergeability` to never because by default user created tables should never be automatically mergeable. 2) A new `putSplits(map)` method has been added that also takes a map and will create new splits with an associated `TabletMergeability`. The existing `addSplits(set)` method delegates to this as well. **Note:** This method is only partially done. The intent is to support updating existing splits as well but this will be done in another PR. The support the changes, where necessary the splits are now encoded with the `TabletMergeability` value as json instead of just passing the split bytes. After this PR is merged there will be at least two more API changes needed in another PR (as well as more tests to be written): 1. As mentioned above, `putSplits(map)` will need to be updated to handle updating existing splits. This will likely need a new RPC method as this functionality doesn't currently exist and the existing fate operation for adding splits is designed to fail if splits already exist. We also need to somehow handle when some splits exist and some don't. 2. There needs to be a way to list/query the `TabletMergeability` value for existing splits on a table. This could be added to [getTabletInformation()](https://github.com/apache/accumulo/blob/428f7c794dc51a4e6641405f108318e38026b127/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java#L2223) in TableOperations -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
