Repository navigation
Replies: 2 comments
|
For question 1, the documented upgrade contract requires stopping the old nodes across this boundary: The 26.8.0 upgrading guide By comparison, the update-compatibility guide Consequently, briefly overlapping old/new nodes against that database is outside the documented Your expand/contract proposal is still a reasonable architectural discussion, but moving one For questions 2-3, only maintainers can confirm whether they want that guarantee or a contributor |
|
Adding a few things to the above, mostly for (3) and for the cutover itself. The rule isn't only in the docs. What the build does guard is patch releases. Release branches carry For the blue/green itself, you can keep the new nodes from migrating on startup. With |
Uh oh!
There was an error while loading. Please reload this page.
PR #52401 ("Multi-IdP for orgs: Data Model") moves org↔IdP linking from a single IDENTITY_PROVIDER.ORGANIZATION_ID column to a many-to-many ORG_IDENTITY_PROVIDER join table. The data migration (JpaUpdate26_8_0_DomainIdpRoutingMigration) is additive and looks correct, but the final changeset in the same file, 26.8.0-drop-idp-organization-id in model/jpa/src/main/resources/META-INF/jpa-changelog-26.8.0.xml, drops the column outright:
The IdentityProviderEntity in 26.7.x maps that column as a plain eager
@Columnfield, so Hibernate includes it in the generated SELECT for every IdentityProviderEntity load. As a result, the instant a 26.8.0+ node runs this migration against a DB that any 26.7.x node is still connected to, every identity-provider read on that 26.7.x node starts failing, including normal (non-org) brokered logins.Reproduction
Minimal repro, no custom extensions involved:
This means any deployment that does a linear/rolling traffic shift, or any form of blue-green cutover where old and new versions can briefly share the same database, has a hard outage window the moment the new version's migration runs — with no way to roll the application back out of it (the schema change isn't undone by reverting app versions).
Questions
All reactions