This is an automated email from the ASF dual-hosted git repository.
dlmarion pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/3.1 by this push:
new cf74fee972 Fixed bug in UpgradeCoordinator comparing against the same
version (#5366)
cf74fee972 is described below
commit cf74fee9726059042280ceae43670476b8f6bb7b
Author: Dave Marion <[email protected]>
AuthorDate: Fri Feb 28 15:47:49 2025 -0500
Fixed bug in UpgradeCoordinator comparing against the same version (#5366)
A minor bug introduced in #5357 where the UpgradeCoordinator was
comparing the stored progress version against the wrong variable
which ended up skipping the Upgraders altogether.
---
.../manager/upgrade/UpgradeCoordinator.java | 55 ++++++++++++----------
1 file changed, 29 insertions(+), 26 deletions(-)
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java
index 9cde40436d..6435da438b 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java
@@ -192,20 +192,21 @@ public class UpgradeCoordinator {
final UpgradeProgress progress = progressTracker.getProgress();
- for (int v = currentVersion; v < AccumuloDataVersion.get(); v++) {
- if (progress.getZooKeeperVersion() >= currentVersion) {
+ for (int upgradeVersion = currentVersion; upgradeVersion <
AccumuloDataVersion.get();
+ upgradeVersion++) {
+ if (progress.getZooKeeperVersion() >= upgradeVersion) {
log.info(
"ZooKeeper has already been upgraded to version {}, moving on
to next upgrader",
- currentVersion);
+ upgradeVersion);
continue;
}
- log.info("Upgrading Zookeeper - current version {} as step towards
target version {}", v,
- AccumuloDataVersion.get());
- var upgrader = upgraders.get(v);
+ log.info("Upgrading Zookeeper - current version {} as step towards
target version {}",
+ upgradeVersion, AccumuloDataVersion.get());
+ var upgrader = upgraders.get(upgradeVersion);
Objects.requireNonNull(upgrader,
- "upgrade ZooKeeper: failed to find upgrader for version " +
currentVersion);
+ "upgrade ZooKeeper: failed to find upgrader for version " +
upgradeVersion);
upgrader.upgradeZookeeper(context);
- progressTracker.updateZooKeeperVersion(v);
+ progressTracker.updateZooKeeperVersion(upgradeVersion);
}
}
@@ -231,38 +232,40 @@ public class UpgradeCoordinator {
.withQueue(new SynchronousQueue<>()).build().submit(() -> {
try {
UpgradeProgress progress = progressTracker.getProgress();
- for (int v = currentVersion; v < AccumuloDataVersion.get(); v++)
{
- if (progress.getRootVersion() >= currentVersion) {
+ for (int upgradeVersion = currentVersion; upgradeVersion <
AccumuloDataVersion.get();
+ upgradeVersion++) {
+ if (progress.getRootVersion() >= upgradeVersion) {
log.info(
"Root table has already been upgraded to version {},
moving on to next upgrader",
- currentVersion);
+ upgradeVersion);
continue;
}
- log.info("Upgrading Root - current version {} as step towards
target version {}", v,
- AccumuloDataVersion.get());
- var upgrader = upgraders.get(v);
+ log.info("Upgrading Root - current version {} as step towards
target version {}",
+ upgradeVersion, AccumuloDataVersion.get());
+ var upgrader = upgraders.get(upgradeVersion);
Objects.requireNonNull(upgrader,
- "upgrade root: failed to find root upgrader for version "
+ currentVersion);
- upgraders.get(v).upgradeRoot(context);
- progressTracker.updateRootVersion(v);
+ "upgrade root: failed to find root upgrader for version "
+ upgradeVersion);
+ upgraders.get(upgradeVersion).upgradeRoot(context);
+ progressTracker.updateRootVersion(upgradeVersion);
}
setStatus(UpgradeStatus.UPGRADED_ROOT, eventCoordinator);
- for (int v = currentVersion; v < AccumuloDataVersion.get(); v++)
{
- if (progress.getMetadataVersion() >= currentVersion) {
+ for (int upgradeVersion = currentVersion; upgradeVersion <
AccumuloDataVersion.get();
+ upgradeVersion++) {
+ if (progress.getMetadataVersion() >= upgradeVersion) {
log.info(
"Metadata table has already been upgraded to version {},
moving on to next upgrader",
- currentVersion);
+ upgradeVersion);
continue;
}
log.info(
- "Upgrading Metadata - current version {} as step towards
target version {}", v,
- AccumuloDataVersion.get());
- var upgrader = upgraders.get(v);
+ "Upgrading Metadata - current version {} as step towards
target version {}",
+ upgradeVersion, AccumuloDataVersion.get());
+ var upgrader = upgraders.get(upgradeVersion);
Objects.requireNonNull(upgrader,
- "upgrade metadata: failed to find upgrader for version " +
currentVersion);
- upgraders.get(v).upgradeMetadata(context);
- progressTracker.updateMetadataVersion(v);
+ "upgrade metadata: failed to find upgrader for version " +
upgradeVersion);
+ upgraders.get(upgradeVersion).upgradeMetadata(context);
+ progressTracker.updateMetadataVersion(upgradeVersion);
}
setStatus(UpgradeStatus.UPGRADED_METADATA, eventCoordinator);