AWS amazondynamodb: Clarify vector index backfilling behavior and status checks
Summary
Updated explanation of index status transitions during backfilling and added operational guidance.
Security assessment
Enhanced operational documentation about index creation process without security implications.
Evidence
-When you add a vector index to a table that already contains items, DynamoDB backfills the index with the existing data. The index first transitions to `IndexStatus` `CREATING` while DynamoDB sets up the index infrastructure. It then moves to `IndexStatus` `ACTIVE` with `Backfilling` set to `true` while DynamoDB populates the index from existing base table data. New writes to the base table are replicated to the index during this phase, but `SearchVectors` returns an error until backfilling finishes. Use `DescribeTable` and wait until `IndexStatus` is `ACTIVE` and `Backfilling` is `false` before you search. See [Adding a vector index to an existing table](./VectorSearchWorkingWith.html#VectorSearchWorkingWith.Create.ExistingTable).
Diff
diff --git a/amazondynamodb/latest/developerguide/VectorSearchDataSync.md b/amazondynamodb/latest/developerguide/VectorSearchDataSync.md index ac8a792d4..cf073b781 100644 --- a//amazondynamodb/latest/developerguide/VectorSearchDataSync.md +++ b//amazondynamodb/latest/developerguide/VectorSearchDataSync.md @@ -15 +15,5 @@ DynamoDB keeps a vector index synchronized with its base table automatically. Un -When you add a vector index to a table that already contains items, DynamoDB backfills the index with the existing data. The index first transitions to `IndexStatus` `CREATING` while DynamoDB sets up the index infrastructure. It then moves to `IndexStatus` `ACTIVE` with `Backfilling` set to `true` while DynamoDB populates the index from existing base table data. New writes to the base table are replicated to the index during this phase, but `SearchVectors` returns an error until backfilling finishes. Use `DescribeTable` and wait until `IndexStatus` is `ACTIVE` and `Backfilling` is `false` before you search. See [Adding a vector index to an existing table](./VectorSearchWorkingWith.html#VectorSearchWorkingWith.Create.ExistingTable). +When you add a vector index to a table that already contains items, DynamoDB backfills the index with the existing data. The index first transitions to `IndexStatus` `CREATING` while DynamoDB provisions the index infrastructure. It remains `CREATING` while DynamoDB populates the index from existing base table data, and reports `Backfilling` as `true` during that phase. New writes to the base table are replicated to the index while it backfills, but `SearchVectors` returns a `ValidationException` until backfilling finishes. When the index is ready, `IndexStatus` becomes `ACTIVE` and the `Backfilling` field is no longer reported. Use `DescribeTable` and wait until `IndexStatus` is `ACTIVE` and `Backfilling` is not `true` before you search. + +Index construction drives backfill duration, not the number of items in the base table. Even a table with very few items can take a substantial amount of time to finish backfilling. Poll `DescribeTable` rather than assuming a small table will be ready quickly. + +See [Adding a vector index to an existing table](./VectorSearchWorkingWith.html#VectorSearchWorkingWith.Create.ExistingTable).