apache / apache/accumulo

Support passing a property file to the shell for setting multiple properties

Open
#3,953 7 comments 0 reactions 1 assignee Claimed by @rsingh433 View on GitHub
enhancement
Dominant language
Java
Stars
1.2k
Forks
487
Avg merge
4d 5h
Merged PRs (30d)
13

Description

**Is your feature request related to a problem? Please describe.**
It is currently impossible to validate properties if they are set individually but are dependent on each other.

We run into this issue with the compaction service `planner` and various `opts` properties that all have to be set before validation of the planner can be performed.

https://github.com/apache/accumulo/blob/db98f7d9888cddc8b9e19aa120ea395d8d857c91/core/src/main/java/org/apache/accumulo/core/conf/Property.java#L650-L667

**Describe the solution you'd like**
Modify the shell's config command to support setting multiple properties in a single operation from a properties file.
The API already supports this via the modifyProperties method in instance, table, and namespace operations.

https://github.com/apache/accumulo/blob/0e8dc7ab8495b0e34889f4a450fdf027a5f79bc4/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java#L129

**Describe alternatives you've considered**
We could expand the property definitions to include more information (more json object blobs) for properties that are co-dependent.
However this adds more complexity on the user to ensure the form of the property is correct.

**Additional context**
This issue is tangentially related to #3909

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.