Fix some code quality issues (#4934)

* Fix incorrect generics on AbstractFateTxStoreImpl (an unused generic
  type parameter was hiding the generic parameter from the FateTxStore
  interface); AbstractFateTxStoreImpl does not need, and should not
  have, a generic parameter of its own
* Remove several unused variables and imports
* Remove unrecognized nonstandard warning suppression UnstableApiUsage
* Remove unused assignment in FateCleanerTest, keeping the side-effect
* Suppress unused warnings about private no-arg constructors that
  exist only for GSon (I wonder if there's a better way to do this...
  perhaps with explicit type adaptors that use the regular
  constructors?)
* Remove unused "parent" argument and field for
  ConditionalTabletMutatorImpl
* Cast `tabletMutator` to concrete TabletMutatorImpl type, rather than
  the abstract generic `TabletMutatorBase` without a generic type
  parameter
* Avoid compiler warning for unclosed AutoCloseable ServerContext in a
  lambda inside FindSplits by assigning to a final variable outside the
  lambda, and reusing it, rather than calling `manager.getContext()`
  twice
* Substantial alterations to AmpleConditionalWriterIT in order to close
  all the unclosed AutoCloseable ConditionalTabletsMutatorImpl
  instances throughout the class; the actual implementation of this
  class' close method is empty currently, but it may not always be, and
  this resolves a bunch of unnecessary warnings about leaving them
  unclosed
* Add missing default case to switch statement in MetricsIT
* Remove a few unnecessary casts to `SortedMap<Key,Value>`
* Fix BulkNewIT warning about unclosed ClientContext that was merely
  cast from the AccumuloClient; instead, cast it in the
  try-with-resources block instead
26 files changed
tree: d08cc8b7a0197bf56d73b362fa13ddcf18e2ddd2
  1. .github/
  2. assemble/
  3. core/
  4. hadoop-mapreduce/
  5. iterator-test-harness/
  6. minicluster/
  7. server/
  8. shell/
  9. src/
  10. start/
  11. test/
  12. .asf.yaml
  13. .gitattributes
  14. .gitignore
  15. DEPENDENCIES
  16. LICENSE
  17. NOTICE
  18. pom.xml
  19. README.md
  20. 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.

Download the latest version of Apache Accumulo on the project website.

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

Contributing

Contributions are welcome to all Apache Accumulo repositories.

If you want to contribute, read our guide on our website.

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.