EdColeman commented on issue #3383:
URL: https://github.com/apache/accumulo/issues/3383#issuecomment-1638949731

   Background:  During the upgrade process, properties are processed, renamed 
and the stored in 
[DeprecatedPropertyUtil](https://github.com/apache/accumulo/blob/e46cd0e72c366ce9873989930dc25d15e82d90f1/core/src/main/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtil.java#L36)
  One interesting thing is the javadoc for 
[getReplacementName](https://github.com/apache/accumulo/blob/e46cd0e72c366ce9873989930dc25d15e82d90f1/core/src/main/java/org/apache/accumulo/core/conf/DeprecatedPropertyUtil.java#L83C25-L83C25)
 says:
   ```
   This is expected to be used only with system properties stored in the 
SiteConfiguration and ZooConfiguration, and not for per-table or per-namespace 
configuration in ZooKeeper.
   ```
   With the property conversion into a single node, all ZooKeeper properties 
are processed and renamed, including per-namespace and per-table.
   
   So that there is one canonical source / value  it seems desirable to keep 
the properties "normalized" with a single name (ideally the "new" name) 
otherwise there could be issues with property hierarchy inheritance.  Using the 
example `tserver.compaction.major.thread.files.open.max` - the new name is 
`tserver.compaction.major.service.default.planner.opts.maxOpen` if this was set 
as a system property it would be converted to the new name. If it was 
overridden on a table and *NOT* converted, what name would be the correct value 
to apply to the table?  Performing the conversion removes this ambiguity.
   
   To keep a canonical name (the new name) there are (at least) two possible 
approaches. 
     1) Perform the check / conversion each time the property is set and 
display a warning that the conversion occurred.
     2) Fail the set with an appropriate warning.
   
   I'll take a run at option 1 unless someone has a better path forward.


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