Skip to content

Commit 3e109b6

Browse files
dlmarionctubbsii
andauthored
Started on 2.1.4 release notes (#454)
Started on draft release notes for the upcoming 2.1.4 release. Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>
1 parent 01e65fb commit 3e109b6

1 file changed

Lines changed: 111 additions & 0 deletions

File tree

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
title: Apache Accumulo 2.1.4
3+
sortableversion: '02.01.04'
4+
draft: true
5+
LTM: true
6+
---
7+
## About
8+
9+
Apache Accumulo 2.1.4 is a patch release of the 2.1 LTM line. It contains bug
10+
fixes and minor enhancements. This version supersedes earlier 2.1 releases
11+
and users upgrading to 2.1 should upgrade directly to this version instead of
12+
any prior 2.1 release.
13+
14+
## Notable Changes
15+
16+
* {% ghi 5446 %} Many dependencies were updated, to include protobuf-java which
17+
was updated from 3.22.0 to 3.25.6 due to a vulnerability. Users may run into
18+
a runtime exception added in https://github.com/protocolbuffers/protobuf/pull/20084
19+
when using old generated Protobuf files. Users may need to address any compatibility issues
20+
with this version of protobuf-java, if their code also makes use of this library.
21+
* {% ghi 5073 %} {% ghi 5034 %} Added `accumulo check-accumulo-properties` command that can be
22+
run before an instance is initialized to check the properties file.
23+
* {% ghi 5193 %} Added `accumulo admin signalShutdown` command to signal the server
24+
process to initiate a graceful shutdown. Compactors will finish the major compaction
25+
that they are currently working on, then will exit. Scan Servers will return a busy
26+
signal to all clients for new scan requests, and will shutdown when all in-progress
27+
scans have closed. Tablet Servers will signal the Manager that they are shutting down,
28+
which should prevent assignment of tablets to that server, then they will unload all
29+
tablets and shut down. The Monitor, Manager, GarbageCollector, and CompactionCoordinator
30+
will shut down also. The last step in the shutdown process for all servers is to remove
31+
their lock in ZooKeeper.
32+
* {% ghi 5438 %} Added `accumulo upgrade --prepare` command which should be used after
33+
shutting down an instance in preparation for an upgrade. This will check that no Fate
34+
transactions exist, delete any ZooKeeper locks for server processes, and prohibit any
35+
server processes from being started.
36+
* {% ghi 4898 %} New way to compute bulk load plans (TODO: Needs text)
37+
* {% ghi 5169 %} {% ghi 5170 %} The TabletServer will halt itself when a walog write or
38+
minc failure occurs and the TabletServer lock is not held in ZooKeeper.
39+
* {% ghi 5145 %} {% ghi 5132 %} The Manager and TabletServer processes now have a background
40+
thread that can be enabled via the property `general.server.lock.verification.interval` to
41+
validate that the process is holding the lock in ZooKeeper. The existing mechanism of relying
42+
on a Watcher to notify the process that the lock has been lost can be a problem due to the
43+
fact that there is a single thread in the ZooKeeper client that fires Watcher events. If the
44+
thread is currently waiting on a hung Watcher, then subsequent Watcher events will not fire
45+
and could leave the server running without a lock.
46+
* {% ghi 5174 %} Improvements to the `accumulo-cluster` and `accumulo-service` scripts have been
47+
backported from the main branch. This includes syntax changes. Users should review the scripts
48+
for changes that may effect them.
49+
50+
### Configuration Improvements
51+
52+
* {% ghi 4723 %} {% ghi 5239 %} Changes to properties `tserver.session.idle.max` and
53+
`tserver.session.update.idle.max` no longer require a TabletServer restart.
54+
* {% ghi 5397 %} {% ghi 5399 %} Added property `gc.threads.delete.wal` to control the number of threads to use for
55+
deleting write-ahead logs and recovery files.
56+
* {% ghi 5341 %} Created an optimization in Bulk Import v2 to enable faster processing of bulk import files
57+
when loading into a sparse set of tablets in a large table. See new table property `table.bulk.metadata.skip.distance`.
58+
59+
### Notable Bug Fixes
60+
61+
* {% ghi 5033 %} {% ghi 5038 %} Group names in cluster.yaml must conform to bash variable name rules
62+
or an error will be raised when parsing the cluster.yaml file.
63+
* {% ghi 5221 %} The shell will now print to stdout, instead of stderr, when there is no terminal set. This
64+
will help with piping the output of the shell to other commands such as grep.
65+
* {% ghi 5396 %} Modified `accumulo-cluster` to stop GC and ScanServer processes first when stopping the
66+
cluster. These processes write to the metadata table, which can lead to slower shutdown times.
67+
* {% ghi 4868 %} {% ghi 4871 %} Fixed listscans so that it shows a scan session id for batch scans instead
68+
of always showing zero.
69+
* {% ghi 4845 %} InstanceOperations.getActiveCompaction(String) did not handle the address of a
70+
Compactor process being passed in the parameter. This has been fixed.
71+
* {% ghi 5445 %} The `cf` and `cq` options for the DeleteMany and Grep shell commands were not being
72+
handled properly.
73+
74+
### Metrics Improvements
75+
76+
* {% ghi 4756 %} {% ghi 4757 %} {% ghi 4840 %} Added metric to indicate how many zombie scan threads are running
77+
in the TabletServer.
78+
* {% ghi 5011 %} Added queue tag to metrics emitted from the External Compactor processes.
79+
* {% ghi 5025 %} {% ghi 4922 %} Added property `general.micrometer.log.metrics` to enable metrics on
80+
the log4j2 or logback logging frameworks. Disabled by default.
81+
82+
### Other Improvements
83+
84+
* {% ghi 4755 %} {% ghi 5220 %} Fixed the help flag for the admin command so that it works for subcommands.
85+
* {% ghi 4819 %} Tablets that are closing will no longer wait on scans to complete. Instead they
86+
will try to interrupt the scan and then continue closing the tablet so that it can be migrated.
87+
It's possible that a zombie scan thread could remain in the TabletServer, if the scan thread is
88+
blocked on something and does not die. Users should monitor the new zombie scan metric mentioned
89+
in the section above.
90+
* {% ghi 4867 %} Lowered the memory burden of listing a large number of External Compactors in the Monitor.
91+
* {% ghi 5026 %} Modified CompactionJobPrioritizer.createPriority to give a higher priority to tablets that
92+
have more files than the maximum number of files per tablet.
93+
* {% ghi 5400 %} Modified AESCryptoService to prevent the creation of overlapping streams.
94+
95+
## Requirements
96+
97+
Accumulo 2.1.4 now requires JDK 17 to build, but still supports Java 11 runtime.
98+
99+
## Upgrading
100+
101+
View the [Upgrading Accumulo documentation][upgrade] for guidance.
102+
103+
## Useful Links
104+
105+
* [All Changes since 2.1.3][all-changes]
106+
* [All tickets related to this release][milestone]
107+
108+
109+
[upgrade]: /docs/2.x/administration/upgrading
110+
[milestone]: https://github.com/apache/accumulo/milestone/21
111+
[all-changes]: https://github.com/apache/accumulo/compare/rel/2.1.3...apache:rel/2.1.4

0 commit comments

Comments
 (0)