Remove interconnected IMA, Thrift, and ClientImpl non-public methods#3253
Remove interconnected IMA, Thrift, and ClientImpl non-public methods#3253SethSmucker wants to merge 26 commits into
Conversation
- Remove extends ClientContext from InMemoryAccumuloClient - Remove extends Connector from InMemoryConnector - Remove implements Instance from InMemoryInstance - Delete InMemoryClientInfo.java (used non-public Credentials/ClientInfoImpl) - Clean up BulkInputFormat TabletLocator usage - Update PushdownScheduler to remove ClientContext usage Part of #2443
2d0e6f2 to
c7281ba
Compare
Stacked PR NoticeThis PR is the BASE of a stacked PR chain. The following PRs depend on this one and share files:
Shared files:
IMPORTANT: This PR must merge FIRST. After merging, #3345 and #3227 will need to be updated with integration. |
Apply formatter, sortpom, and impsort fixes to pass CI check.
The getClientContext method used non-public ClientContext API and was only called from PushdownScheduler. Since PushdownScheduler now uses the public tableOperations().tableIdMap() API instead, this utility method is no longer needed. Supersedes PR #3340.
f92c5a3 to
03036a7
Compare
Re-apply #3345 changes on top of current #3253 base (0d73343). Cherry-picked ce539af and resolved 6 conflicts by taking the current base's test structure (AbstractQueryTest framework) with InMemoryInstance swapped to InMemoryAccumulo. BulkInputFormat: only swapped the InMemoryInstance constructor call. getTabletLocator/TabletLocator code left as-is (will be replaced when #3449 merges). Version alignment: root pom in-memory-accumulo version bumped from 4.0.5-SNAPSHOT to 4.0.6-SNAPSHOT to match module pom. Fixes #2597 Part of #2443
InMemoryAccumuloClient: - Remove unused ConditionalWriterConfig field and ensureOpen method - Remove AccumuloSecurityException from constructor (not thrown) - Remove unused createConditionalWriter(String) overload - Remove TableNotFoundException from createConditionalWriter (not thrown) - Move inline comments to javadoc InMemoryConnector: - Remove AccumuloSecurityException from constructor (not thrown) - Move inline comment to javadoc BulkInputFormat: - Simplify online check per ddanielr: replace tableId/tableIdMap/isOnline block with single isOnline(tableName) call - Remove unused tableId variable and TableDeletedException import Part of #2443
There was a problem hiding this comment.
When using the changes to in-memory-accumulo introduced in this PR, there is a compilation failure:
warehouse/query-core/src/test/java/datawave/query/util/MockMetadataHelper.java:[89,11] exception org.apache.accumulo.core.client.AccumuloSecurityException is never thrown in body of corresponding try statement
Unsure if this is related to this PR or if it is an issue with the current SNAPSHOT version
…ask/ima-remove-the-rest
Constructor no longer declares AccumuloSecurityException, so remove the dead try/catch in MockMetadataHelper.getClient().
4.0.4 is still being used on integration, so until we update to 4.0.6-SNAPSHOT we won't be able to use any of the changes here even though we build them.
I just swapped over from 4.0.4 to 4.0.6-SNAPSHOT, it should be good to go now! |
InMemoryAccumulo, Thrift, and ClientImpl are non-public methods in Accumulo 2.1. All three needed to be removed in a group since they were reliant on each other. They have been replaced with public variations where applicable, or new methods have been created to handle the job they used to do.
Part of #2443