chroma-core / chroma-core/chroma

[Feature] Built-in collection versioning for zero-downtime index updates

Open
#6,930 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
29.3k
Forks
2.5k
Avg merge
1d 4h
Merged PRs (30d)
38

Description

## Description

When re-indexing a collection with updated embeddings or new documents, having built-in collection versioning would enable atomic swaps between old and new indexes without any query downtime.

## Proposed Pattern

```python
# Build new version in background
v2 = client.create_collection('docs_v2')
# ... populate v2 ...
# Atomic swap
client.swap_alias('docs', 'docs_v2')
```

This is a common pattern in search infrastructure (Elasticsearch aliases, Qdrant collection aliases) and would be very useful here.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing collection lifecycle and client API around create_collection; the issue names no files or tests. Compare the proposed create_collection('docs_v2') and swap_alias('docs','docs_v2') flow with current behavior, then clarify atomicity, version visibility, and completion tests with maintainers.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.