Replace non-public ConfigurationImpl with test utility#3381
Open
SethSmucker wants to merge 10 commits into
Open
Replace non-public ConfigurationImpl with test utility#3381SethSmucker wants to merge 10 commits into
SethSmucker wants to merge 10 commits into
Conversation
Collaborator
|
There is new code in 4.0.0 that offers this functionality in the public API. Could backport these changes to 2.1. |
Create a test utility class AccumuloConfigurationWrapper that implements PluginEnvironment.Configuration by wrapping an AccumuloConfiguration. This replaces usage of non-public org.apache.accumulo.core.util.ConfigurationImpl.
Per review feedback, this class is not inherently test-only. Moved from datawave.test to datawave.accumulo.core.util in the core/common-utils module.
SethSmucker
force-pushed
the
task/replace-configurationimpl
branch
from
March 23, 2026 16:28
d6851e8 to
b94533e
Compare
avgAGB
previously approved these changes
Apr 20, 2026
Collaborator
|
Created apache/accumulo#6336 based on @keith-turner's comment which would avoid the need for the AccumuloConfigurationWrapper class. |
ddanielr
reviewed
Apr 24, 2026
| } | ||
|
|
||
| @Override | ||
| public Map<String,String> getWithPrefix(String prefix) { |
Collaborator
There was a problem hiding this comment.
This method needs to add validation for the property and call
conf.getAllPropertiesWithPrefix.
The code in AccumuloConfiguration is special since most properties that use a defined accumulo prefix must be returned as a snapshot set.
This is handled in AccumuloConfiguration.getAllPropertiesWithPrefix() by using a ReentrantLock.
SethSmucker
pushed a commit
that referenced
this pull request
Jun 18, 2026
…nfigurationWrapper getWithPrefix only did a manual key-prefix scan; for a defined PREFIX-type property that misses AccumuloConfiguration's snapshot/lock semantics. Mirror the non-public ConfigurationImpl: resolve the prefix to a Property and, when it is a PREFIX type, defer to AccumuloConfiguration.getAllPropertiesWithPrefix; fall back to the manual scan otherwise. Addresses review feedback on PR #3381 (issue #3375, part of #2443).
…nfigurationWrapper getWithPrefix only did a manual key-prefix scan; for a defined PREFIX-type property that misses AccumuloConfiguration's snapshot/lock semantics. Mirror the non-public ConfigurationImpl: resolve the prefix to a Property and, when it is a PREFIX type, defer to AccumuloConfiguration.getAllPropertiesWithPrefix; fall back to the manual scan otherwise. Addresses review feedback on PR #3381 (issue #3375, part of #2443).
…nfigurationWrapper TestPluginEnv still built the non-public org.apache.accumulo.core.util.ConfigurationImpl in both getConfiguration overloads. Switch to datawave.accumulo.core.util.AccumuloConfigurationWrapper, matching the rest of the query-core test suite. The remaining ConfigurationImpl usage is MockPluginEnvironment (in-memory-accumulo), deferred to stacked branches per issue #3375. Part of #2443, issue #3375.
SethSmucker
force-pushed
the
task/replace-configurationimpl
branch
from
June 18, 2026 22:54
5415799 to
b496c15
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
AccumuloConfigurationWrappertest utility in common-test moduleorg.apache.accumulo.core.util.ConfigurationImplwith the new wrapperFixes #3375
Part of #2443