weaviate / weaviate/weaviate-cli
Add `--drop_vector_index` to `weaviate-cli update collection`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 31
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
Context
Weaviate 1.39 adds an experimental endpoint to drop the index of a named vector
(DELETE /v1/schema/{Class}/vectors/{name}/index), exposed in the Python client via
collection.config.delete_vector_index() (weaviate/weaviate-python-client#1991). The CLI
should let operators drive this destructive, asynchronous, irreversible operation and
observe its lifecycle.
Scope
- Add
--drop_vector_index <name>toupdate collection(drops one named vector's index). - Mutually exclusive with
--vector_index; server-version warning (< v1.39.0). - The drop must run after
config.update()(which reads-and-writes the whole schema),
otherwise avectorIndexType: "none"vector would be PUT back to the server. get collectionlisting must render a dropped vector asnone(and not crash when the
named vector'svector_index_configisNone), showing all distinct index types, e.g.
hnsw, none.- Re-issuing the drop on an already-
nonevector must be allowed (server returns 200):
it is a no-op while cleanup is in flight and re-enqueues a fresh cleanup task if the
previous one FAILED — the only operator recovery path for a stalled drop.
Files Involved
weaviate_cli/defaults.py—UpdateCollectionDefaults.drop_vector_indexweaviate_cli/commands/update.py—--drop_vector_indexoptionweaviate_cli/managers/collection_manager.py— validation, ordering, listing fixtest/unittests/test_managers/test_collection_manager.py— unit testsrequirements-dev.txt/setup.cfg— client dependency (temporary pin to PR #1991)- operating skill docs
Acceptance Criteria
-
update collection --drop_vector_index Xdrops the named vector's index,--jsonsupported - Rejected when combined with
--vector_index -
get collectionrendersnone/hnsw, noneand never crashes on a dropped vector - Re-drop of an already-
nonevector is accepted (re-trigger), not blocked - Unit tests cover happy path, validation, and re-trigger
-
make lintandmake testpass - Operating skill documentation updated
🤖 Generated with Claude Code
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in weaviate_cli/defaults.py, commands/update.py, and managers/collection_manager.py, then read the existing collection-manager unit tests. Check the temporary client dependency pin in requirements-dev.txt and setup.cfg before running the tests. Done means the option validates and runs in the required order, supports JSON output and re-triggering, renders none safely, updates operating skill docs, and passes make lint and make test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100