This is an automated email from the ASF dual-hosted git repository. dlmarion pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push: new c63a556e79 Modified Manager to wait for accumulo.fate table before starting Fate (#5645) c63a556e79 is described below commit c63a556e79fa8a236aac102af7fc1c3584f5886b Author: Dave Marion <dlmar...@apache.org> AuthorDate: Fri Jun 13 14:55:32 2025 -0400 Modified Manager to wait for accumulo.fate table before starting Fate (#5645) Closes #5644 --- .../main/java/org/apache/accumulo/manager/Manager.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java index bdf6507ed0..f16d83e0a9 100644 --- a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java +++ b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java @@ -60,6 +60,7 @@ import java.util.stream.Collectors; import org.apache.accumulo.core.Constants; import org.apache.accumulo.core.cli.ConfigOpts; +import org.apache.accumulo.core.client.TableNotFoundException; import org.apache.accumulo.core.client.admin.CompactionConfig; import org.apache.accumulo.core.client.admin.servers.ServerId; import org.apache.accumulo.core.client.admin.servers.ServerId.Type; @@ -1333,6 +1334,20 @@ public class Manager extends AbstractServer implements LiveTServerSet.Listener { lock -> ServiceLock.isLockHeld(context.getZooCache(), lock); var metaInstance = initializeFateInstance(context, new MetaFateStore<>(context.getZooSession(), managerLock.getLockID(), isLockHeld)); + + // If an upgrade occurred, then it's possible that the client may not yet + // be aware of the table. Wait for the table to be known to prevent an + // error when creating the UserFateStore. + while (true) { + try { + context.getTableId(SystemTables.FATE.tableName()); + break; + } catch (TableNotFoundException e) { + log.trace("Waiting for client to become aware of user fate table"); + Thread.sleep(100); + } + } + var userInstance = initializeFateInstance(context, new UserFateStore<>(context, SystemTables.FATE.tableName(), managerLock.getLockID(), isLockHeld));