Repository navigation
fix(opensearch): readiness summary states the drift that is actually present (#37638) - #37735
Merged
Merged
Conversation
4 tasks
Contributor
|
Claude finished @fabrizzio-dotCMS's task in 2m 2s —— View job Code ReviewReviewed the diff against
New Issues
Everything else looks correct and well-tested. |
4 tasks
…present (#37638) Phase 0 after a rollback called the current, merely stale OpenSearch copies "left over from an earlier migration attempt" and promised dual-write would overwrite them. Dual-write never backfills; the summary now says the copies are behind and that a reindex is the repair, and describes OpenSearch-only indices separately. Phase 3 volunteered "No index shows Elasticsearch behind OpenSearch" while OpenSearch, the engine serving reads, was the one behind. The summary now states each direction present, and notes that deletes since the cutover produce the same shape, with the database comparison deciding. The incomplete-copy note no longer claims the copy "was never fully rebuilt"; a copy that missed writes after a rollback reads the same. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
fabrizzio-dotCMS
force-pushed
the
37638-readiness-prose-contradicts-data
branch
from
September 25, 2026 02:06
b75697e to
9873753
Compare
hassandotcms
approved these changes
Sep 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #37638
Problem
The readiness report's counts were right, but the summary around them gave the wrong advice in two cases:
Change
All changes are to the summary text; the verdict, counts, blockers,
safeToAdvanceandsafeToRollbackare unchanged.MigrationReadinessService.initialPhaseNotes: at Phase 0 the summary now separates copies whose counts drifted from copies that exist only on OpenSearch. For drifted copies it names a reindex (or a Site Search re-crawl) as the fix and says dual-write never backfills.MigrationReadinessService.finalPhaseDriftSentence: at Phase 3 the summary states every direction of drift that is present. When OpenSearch is behind, it adds its own sentence, which says deletes since the cutover look the same and the database comparison tells the two apart. The "no drift" sentence now appears only when the counts are equal.ContentIndexMirrorReconciler.incompleteNote: the note no longer says "it was never fully rebuilt". It names both causes, since a copy that missed writes after a rollback reads the same as one that was never finished.Verification
MigrationReadinessServiceTest: 6 new tests. The 4 that cover the reported cases failed before the change; the other 2 check that in-sync copies at Phase 0 and equal counts at Phase 3 keep their current summary.ContentIndexMirrorReconcilerTestalso has new assertions on the note text. 67/67 pass across the three readiness test classes.🤖 Generated with Claude Code
This PR fixes: #37638