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>
42 files changed
tree: 4c0218a1870f5a7ffaeddd7535c618590993e224
  1. .github/
  2. assemble/
  3. contrib/
  4. core/
  5. hadoop-mapreduce/
  6. iterator-test-harness/
  7. minicluster/
  8. server/
  9. shell/
  10. src/
  11. start/
  12. test/
  13. .asf.yaml
  14. .gitignore
  15. CONTRIBUTING.md
  16. DEPENDENCIES
  17. LICENSE
  18. NOTICE
  19. pom.xml
  20. README.md
  21. TESTING.md
README.md

Apache Accumulo


Build Status Maven Central Javadoc Apache License

Apache Accumulo is a sorted, distributed key/value store that provides robust, scalable data storage and retrieval. With Apache Accumulo, users can store and manage large data sets across a cluster. Accumulo uses Apache Hadoop's HDFS to store its data and Apache Zookeeper for consensus. Check out the Accumulo project website for news and general information.

Getting Started

More resources can be found on the project website.

Building

Accumulo uses Maven to compile, test, and package its source. The following command will build the binary tar.gz from source. Add -DskipTests to build without waiting for the tests to run.

mvn package

This command produces assemble/target/accumulo-<version>-bin.tar.gz

Export Control


This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See https://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software:

Apache Accumulo uses the built-in java cryptography libraries in its RFile encryption implementation. See oracle's export-regulations doc for more details for on Java‘s cryptography features. Apache Accumulo also uses the bouncycastle library for some cryptographic technology as well. See the BouncyCastle site for more details on bouncycastle’s cryptography features.