title: Apache Accumulo 1.9.3 draft: true

Apache Accumulo 1.9.3 contains bug fixes for summary of bugs here. Users of any previous version of 1.8 or 1.9 are encouraged to upgrade immediately or specify recommended timeline.

  • [User Manual][user_manual] - In-depth developer and administrator documentation
  • [Javadocs][javadoc] - Accumulo 1.9 API
  • [Examples][examples] - Code with corresponding readme files that give step by step instructions for running example code

Notable Changes

Fix ArrayOutOfBounds error when new files are created (affects all previous versions)

Accumulo maintains a 1-up counter to keep file names and other identifiers unique. This counter is padded with 0 characters when used in file names. If the counter becomes sufficiently large, the padding code in versions prior to 1.9.3 causes an out of bounds error.

Most users will not be affected by this bug, since it requires the counter to be very large before the error would be seen. Situations which might cause the counter to get very large include: having a very old Accumulo cluster that has been running for many years, having a very large cluster, having a cluster that writes many files very quickly for long periods of time, having altered the current value of the counter in ZooKeeper, or if you experience a bug which causes the counter value to skip ahead very rapidly.

If you wish to check to see if you are at risk of being impacted by this bug, examine the name of RFiles recently created in your system. If you have one or more padded 0 characters (after an initial letter), as in I000zy98.rf or I0123abc.rf, you are probably at low risk from this bug.

This issue was fixed in pull request #562

Another notable item here (affects versions)

More description here. This was fixed in [#NUM].

Other Changes

  • GitHub - List of issues tracked on GitHub corresponding to this release
  • [1.9.2 release notes][prev_notes] - Release notes showing changes in the previous release

Upgrading

View the [Upgrading Accumulo documentation][upgrade] for guidance.

Testing

  • (Example) All ITs passed with Hadoop 3.0.0 (hadoop.profile=3)
  • (Example) All ITs passed with Hadoop 2.6.4 (hadoop.profile=2)
  • (Example) Ran 3 continuous ingesters successfully for 24 hours on a 10 node cluster with agitation and pausing. Verification for all 3 tests was successful.
  • (Example) Ran continuous ingest for 24 hours and verified without agitation on a 10 node cluster.
  • (Example) Tested [Apache Fluo][fluo] build and ITs passed against this version.
  • (Example) Ran a single-node cluster with Uno and created a table, ingested data, flushed, compacted, scanned, and deleted the table.

[examples]: {{ site.baseurl }}/1.9/examples/ [fluo]: https://fluo.apache.org [javadoc]: {{ site.baseurl }}/1.9/apidocs/ [prev_notes]: {{ site.baseurl }}/release/accumulo-1.9.2/ [upgrade]: {{ site.baseurl }}/docs/2.x/administration/upgrading [user_manual]: {{ site.baseurl }}/1.9/accumulo_user_manual.html