keith-turner commented on code in PR #5301:
URL: https://github.com/apache/accumulo/pull/5301#discussion_r1956529962


##########
core/src/main/java/org/apache/accumulo/core/conf/Property.java:
##########
@@ -429,15 +429,34 @@ public enum Property {
   
MANAGER_FATE_METRICS_MIN_UPDATE_INTERVAL("manager.fate.metrics.min.update.interval",
 "60s",
       PropertyType.TIMEDURATION, "Limit calls from metric sinks to zookeeper 
to update interval.",
       "1.9.3"),
-  MANAGER_FATE_THREADPOOL_SIZE("manager.fate.threadpool.size", "64", 
PropertyType.COUNT,
-      "The number of threads used to run fault-tolerant executions (FATE)."
-          + " These are primarily table operations like merge.",
-      "1.4.3"),
+  MANAGER_USER_FATE_CONFIG("manager.user.fate.config", "{"
+      + 
"\"TABLE_CREATE,TABLE_DELETE,TABLE_RENAME,TABLE_ONLINE,TABLE_OFFLINE,NAMESPACE_CREATE,NAMESPACE_DELETE,NAMESPACE_RENAME,TABLE_TABLET_AVAILABILITY,SHUTDOWN_TSERVER\":
 1,"
+      + "\"TABLE_BULK_IMPORT2\": 2,"
+      + "\"TABLE_COMPACT,TABLE_CANCEL_COMPACT,COMMIT_COMPACTION\": 4,"
+      + 
"\"TABLE_MERGE,TABLE_DELETE_RANGE,TABLE_SPLIT,SYSTEM_SPLIT,TABLE_CLONE,TABLE_IMPORT,TABLE_EXPORT\":
 2"
+      + "}", PropertyType.USER_FATE_CONFIG,
+      "The number of threads used to run user-initiated fault-tolerant "
+          + "executions (FATE). These are primarily table operations like 
merge. Each key/value "
+          + "of the provided JSON corresponds to one thread pool. Each key is 
a list of one or "
+          + "more FATE operations and each value is the number of threads that 
will be assigned "
+          + "to the pool.",
+      "4.0.0"),
+  MANAGER_META_FATE_CONFIG("manager.meta.fate.config",
+      "{\"TABLE_COMPACT,TABLE_CANCEL_COMPACT,COMMIT_COMPACTION\": 4,"
+          + "\"TABLE_MERGE,TABLE_DELETE_RANGE,TABLE_SPLIT,SYSTEM_SPLIT\": 2}",
+      PropertyType.META_FATE_CONFIG,
+      "The number of threads used to run system-initiated fault-tolerant "
+          + "executions (FATE). These are primarily table operations like 
merge. Each key/value "
+          + "of the provided JSON corresponds to one thread pool. Each key is 
a list of one or "
+          + "more FATE operations and each value is the number of threads that 
will be assigned "
+          + "to the pool.",
+      "4.0.0"),

Review Comment:
   Not a change for this PR. Wondering if we should change how we deal with 
property changes.  In general I don't think the current ReplacedBy mechanism is 
working that well.  The replacement cases are not well tested and introduce a 
lot of complexity in configuration.  Maybe a new model would be better for 
property changes, something like the following.
   
    * Remove replaced by annotation
    * Add a new internal static set of dropped properties that has information 
on when dropped and guidance on actions to take.
    * The generated documentation can include the information about dropped 
properties.
    * Property validation will fail if a property is not in the current set of 
active properties.  However if its seen in the set of dropped properties then 
some helpful guidance is logged.
   
   This would be cleaner and would remove some potential bugs w/ untested 
replacement property usage.  However this model may further complicate upgrade 
re #5277.
   



-- 
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