Skip to content

Error Reference

AOSC does not define a separate stable error-code namespace. Errors are surfaced as OpenSearch exceptions, validation messages, migration status fields, and logs.

Start Request Validation

Message fragmentLikely causeAction
target.index is requiredMissing target_index in the body.Add target_index.
alias is requiredMissing alias in the body.Add the alias AOSC should swap.
source index and target.index must be differentSource path and target body name match.Use a separate target index.
source index [...] not foundSource index from the path is missing.Create or correct the source index.
target index [...] not foundTarget index does not exist.Pre-create the target index.
transform_script.source is required for inline scriptsInline transform has no source.Provide Painless source or omit transform_script.
transform_script.id is required for stored scriptsStored transform has no ID.Provide a stored script ID.
Unknown transform script_contextUnsupported transform context.Use update or omit script_context.
Transform script dry-run failedScript failed validation against an empty context or missing params.Add params or make the script defensive.
validation_query failed on indexThe validation query failed against source or target.Fix the query or mappings.
transient_target_settings keys must start with 'index.'Option contains invalid target setting key.Use OpenSearch index setting keys.
Custom routing detected or data-loss consent textAOSC selected BULK_API routing mode. Custom-routed deletes cannot be guaranteed because OpenSearch delete history does not carry routing.Prefer same-shard or power-of-2 expansion, or set consent only after review.

Runtime Failures

SymptomPossible causeAction
Migration enters FAILING then FAILEDWorker failure, cutover failure, validation failure, or cleanup failure.Read _status.error_message, shard errors, and cluster logs.
Shard fails during transformPainless runtime exception for a document.Fix the script and rerun with a new target or cleaned target.
Max convergence rounds exceededSource write rate or global checkpoint behavior prevents convergence.Reduce write rate, tune replay/backfill settings, or retry with a larger threshold.
Target not readyTarget allocation or replicas did not become ready in time.Check target health, disk, allocation, and aosc.target.ready_timeout.
Alias swap failedAlias conflicts or cluster metadata update failure.Inspect alias state and cluster-manager logs.
Lease cleanup neededA crash left AOSC retention leases behind.Use _admin/_cleanup_leases after checking active migrations.

Useful Diagnostics

bash
curl -s 'http://localhost:9200/_plugins/_aosc/my-index-v1/_status' | jq '.'
curl -s 'http://localhost:9200/_plugins/_aosc/_list' | jq '.'
curl -s 'http://localhost:9200/_cluster/health' | jq '.'
curl -s 'http://localhost:9200/_cat/plugins?v'
curl -s 'http://localhost:9200/_cat/shards?v'

When reporting an issue, include the migration status document, relevant cluster logs, OpenSearch version, AOSC version or commit, and the start request with secrets removed.

Released under the Apache 2.0 License.