Add article: upgrading the search domain engine (Elasticsearch 6.8 → 7.10) - #28
Merged
Conversation
Covers the drift case where the deployed template declares 7.10 but the live domain stayed on 6.8 after a stack-update-fired upgrade failed on a transient and CloudFormation recorded success. Direct CLI path: read-only until the single upgrade command, launch into the snapshot gap, escalation guidance for stalls. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment on lines
+27
to
+28
| DOMAIN=<your search domain name> | ||
| REGION=<your stack's region> |
Contributor
There was a problem hiding this comment.
Invalid shell variable assignments
When a reader copies this setup block before replacing the example text, the shell interprets < and > as redirection operators instead of assigning DOMAIN and REGION, causing the setup and all subsequent AWS commands to fail.
Suggested change
| DOMAIN=<your search domain name> | |
| REGION=<your stack's region> | |
| DOMAIN="your-search-domain-name" | |
| REGION="your-stack-region" |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- State irreversibility up front + rollback options (manual snapshot, Quilt S3 rebuild backstop); AWS test-domain suggestion - Verdicts and diagnosis via get-upgrade-history (get-upgrade-status carries no failure reasons, timestamps, or progress); baseline read first so stale entries can't masquerade as fresh ones - Handle SUCCEEDED_WITH_ISSUES, Step-5 CLI errors, early-step failures - Replace wrong-instrument Auto-Tune command with console Notifications glance; yellow-cluster rule; explicit done-criterion - Domain identified via the stack's Search resource, not guessed - Fix stale support-plan naming; self-service stall triage before case - Qualify search-availability claim (dedicated-masters conditional); cost note; scope note vs newer target versions; absolute Related link Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…s; billing fix; breaking-changes check moved to preflight; drop telemetry mention Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ible Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…first use Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…al verdict-entry JSON, mid-flight progress example Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…reptile) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new Knowledge Base runbook describing how to manually upgrade a Quilt deployment’s AWS-managed search domain from Elasticsearch 6.8 to 7.10 when CloudFormation reports a successful stack update but the live domain engine version never advances.
Changes:
- Introduces a step-by-step CLI procedure to verify drift, run a pre-upgrade eligibility check, trigger the engine upgrade, and monitor progress.
- Documents operational guardrails (freeze window, failure modes, stall triage/escalation) and a post-upgrade catalog smoke test.
- Links to AWS reference docs for migration mechanics and troubleshooting.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| This article is the direct path: an in-place engine upgrade via the AWS CLI. Only one command in the sequence changes the domain. Two things to know before starting: | ||
|
|
||
| - **The upgrade is irreversible** — AWS states it "can't be paused or cancelled," and there is no downgrade. See the rollback options below before running Step 5. |
| ## Related | ||
|
|
||
| - [Upgrading Amazon OpenSearch Service domains](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/version-migration.html) — AWS's reference for the upgrade process | ||
| - [How do I collect search-cluster diagnostics for Quilt support?](https://github.com/quiltdata/knowledge-base/blob/main/howto-collect-search-cluster-diagnostics.md) |
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.
New KB article for deployments whose search domain stayed on Elasticsearch 6.8 while the deployed template declares 7.10 — an engine upgrade fired during a stack update can fail on a transient (typically an automated-snapshot collision), and CloudFormation records the deploy successful without ever retrying, leaving the domain permanently behind.
The article gives the direct CLI path: parameterized commands, read-only until the single upgrade trigger, eligibility-check-then-fire sequencing that launches into the gap between hourly automated snapshots (the passing check doubles as the no-snapshot-running signal), a stall rule with AWS escalation links, and a catalog smoke test. Generic AWS mechanics are linked to AWS docs rather than restated.
Written with a specific support case in hand; the sequence has been rehearsed end-to-end on a scratch staging domain (~50 min on an empty domain; real outputs folded into the article), with the production run next.
🤖 Generated with Claude Code
Greptile Summary
The PR adds a runbook for directly upgrading a Quilt search domain from Elasticsearch 6.8 to 7.10 after CloudFormation leaves its live engine behind.
Confidence Score: 4/5
The article should not merge until its required shell variable assignments are made executable, because the procedure currently fails at the first setup step.
The documented placeholder assignments are parsed as shell redirections rather than variable values, leaving the parameters required by every read-only check and the upgrade trigger unset.
Files Needing Attention: howto-upgrade-search-domain-engine.md
Important Files Changed
Sequence Diagram
sequenceDiagram actor Operator participant AWS as AWS Elasticsearch Service participant Catalog as Quilt Catalog Operator->>AWS: Check compatible versions and Auto-Tune Operator->>AWS: Run eligibility check loop Until check completes Operator->>AWS: Get upgrade status AWS-->>Operator: Current check status end Operator->>AWS: Trigger engine upgrade loop Until upgrade completes Operator->>AWS: Get upgrade status AWS-->>Operator: PRE_UPGRADE_CHECK / SNAPSHOT / UPGRADE end Operator->>Catalog: Upload file and verify searchReviews (1): Last reviewed commit: "Add article: upgrading the search domain..." | Re-trigger Greptile