ctubbsii commented on code in PR #2717:
URL: https://github.com/apache/accumulo/pull/2717#discussion_r878037133
##########
core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java:
##########
@@ -47,6 +47,24 @@ public interface InstanceOperations {
void setProperty(final String property, final String value)
throws AccumuloException, AccumuloSecurityException;
+ /**
+ * Sets multiple system properties in zookeeper. Tablet servers will pull
this setting and
+ * override the equivalent setting in accumulo.properties. Changes can be
seen using
+ * {@link #getSystemConfiguration()}.
+ * <p>
+ * Only some properties can be changed by this method, an
IllegalArgumentException will be thrown
+ * if there is an attempt to set a read-only property.
+ *
+ * @param propertiesMap
+ * map containing key-value pairs of properties and corresponding
values
+ * @throws AccumuloException
+ * if a general error occurs
+ * @throws AccumuloSecurityException
+ * if the user does not have permission
+ */
+ void setProperties(Map<String,String> propertiesMap)
Review Comment:
The three primitives are add, update, and remove. However, "add or update"
is just "put" (or "set"), and "remove" isn't really a removal, but a "revert to
default" (removal of any override set at this scope). I definitely want to
include the ability to remove a property alongside the properties to
set/update. I don't know if it's intuitive to rely on setting it to a null
value, since that *looks like* it's setting an override value of `null`. I
figured it was more intuitive to omit it from the map, and replace the entire
map with the provided one, since having a full on Mutation API with
`putDeletes` and such is a bit overkill for config.
--
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]