tree 4c0218a1870f5a7ffaeddd7535c618590993e224
parent 9fdfaff15bfb1a1ec91512c3e9d08b5bdb45efb1
author Brian Loss <brianloss@apache.org> 1611668413 -0500
committer GitHub <noreply@github.com> 1611668413 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgEBu9CRBK7hj4Ov3rIwAAdHIIACwM7Qu2UgHZndC5nkFaON1u
 nmJaw5F+8am8CKrmVxfEar1/DTFw8xUMYgsPF8MQVjKsrBR07mP3cza1JMZIRbOd
 US+rg+4v/QKMtslBxZ2HfDHWbueezD6ELmcUlv8I4x41dhqApBWnmxOaV1GwEz67
 zaECrwwFyXAsGAVrr7LGyhTqKXxtE9EtJoVKL5Mm5jb/lPHa5h09Wv9SfKGJLxSl
 kHy8SxwPTXt1j1v3v+kGpog7VQc2aoRnM0novW1HBToY4E8J2WpwNW5xotwlbcGm
 LYRdxgR9CiNIXukJPuj32sZH1p8Ic4NLmAZhR6B+HT4nD1Fcd0YcLwWGMefYP1c=
 =QN7g
 -----END PGP SIGNATURE-----
 

Deprecate/replace 'master.*' properties with 'manager.*'. (fixes #1640) (#1873)

This change fixes #1640 by updating the 'master.*' properties to
'manager.*' while allowing the user to continue to use the deprecated
'master.*' names in the site configuration and in zookeeper (system
properties only--not table or namespace properties). The user is warned
about usages of the deprecated properties.

* Mark Property.MASTER_PREFIX as deprecated and update its description
  (which is used in generated documentation) to indicate that users
  should switch to the replacement 'manager.*' properties instead.
  This is a tradeoff vs leaving all of the Property.MASTER_* properties
  there and deprecated. This would lead to a huge list of properties in
  the generated documentation and in the end that would make the docs
  less readable.
* Add Property.MANAGER_PREFIX and rename all other Property.MASTER_*
  properties to Property.MANAGER_*.
* Introduce DeprecatedPropertyUtil to have a central place for
  determining the replacement name to use for a deprecated property.
* When system properties are set or removed in zookeeper (either via
  the 'config' shell command or the API) rename 'master.*' properties
  to 'manager.*' before executing the command. In this case, a warning
  is emitted on both the client and server side indicating that the
  replacement property was used instead and the user should switch to
  using the new names.
* Rename all 'master.*' properties to 'manager.*' when the site
  configuration is read. A warning is emitted when deprecated property
  names are found in the site configuration. If both deprecated and
  replacement names are found in the site configuration, then an
  exception is thrown to fail the current process.
* Upon Accumulo upgrade (the 9 to 10 upgrade), rename in zookeeper all
  system properties with 'master.*' to 'manager.*'

Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>