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]

Reply via email to