-
Notifications
You must be signed in to change notification settings - Fork 455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modified Manager.run startup to account for upgrade stages #5376
Modified Manager.run startup to account for upgrade stages #5376
Conversation
Updated Manager to account for the status of an upgrate when starting processes. For example, the new fate table is created during the 4.0 upgrade, so we can't start Fate or anything that uses Fate (e.g. Splitter) until after the table has been created. Closes apache#5368
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reordering some things and tracking extra state might work, but it also seems that some of this could be solved more easily by an upgrade step that runs before the manager. It is an extra step we've tried very hard to avoid in the past... for user convenience, but maybe it's necessary for the sake of overall simplicity. I'm not sure.
That would work for updating ZooKeeper, but I think you also need a TabletServer up at some point to host the root and metadata tablets so that they can be upgraded. |
server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
Outdated
Show resolved
Hide resolved
// Start processing the metadata table | ||
metadataTableTGW.start(); | ||
metaTGWStarted = true; | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The upgrade code may or may not block waiting on the TGW for each level, it depends on if it reads something or not. So this code may not see each UPGRADED_XXX. Maybe it needs to check the earlier TGW to be safe.
break; | |
// TODO check if rootTableTGW needs to be started | |
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed this in cceb9fb
Updated Manager to account for the status of an upgrate when starting processes. For example, the new fate table is created during the 4.0 upgrade, so we can't start Fate or anything that uses Fate (e.g. Splitter) until after the table has been created.
Closes #5368