Fixes#1035
## Description of changes
*Summarize the changes made by this PR.*
- Improvements & Bug fixes
- Default persistent directory isn't `/index_data` it's located at
`/chroma/chroma/`
[config.py#L85](https://github.com/chroma-core/chroma/blob/main/chromadb/config.py#L85)
fixing it in serveur core docker-compose
- Removing misleading volume `/index_data` in main docker-compose.yaml
file, that clearly induce in error users
- Adding comment in main docker-compose.yaml file so that Chroma users
won't waste time seeking for this directory path
- New functionality
Does it introduce a breaking change ?
- With this change data will now be persistent for users using
`docker-compose.server.example.yml` as it's a exemple file this
shouldn't be considered as a breaking change.
## Test plan
*How are these changes tested?*
- [x] Tests pass locally with `pytest` for python, `yarn test` for js
- [x] Start Chroma server with `docker-compose up -d` create a
collection, stop Chroma server with `docker-compose down` and start it
again `docker-compose up -d`, check the created collection still exists.
## Documentation Changes
*Are all docstrings for user-facing APIs updated if required? Do we need
to make documentation changes in the [docs
repository](https://github.com/chroma-core/docs)?*
## Description of changes
Base PR to release sqlite refactor, which spans many stacked PRs.
Remaining
- [x] Merge this to main
- [x] Layered Persistent Index #761
- [x] Remove old impls (In #781 )
- [x] Remove persist() API (In #787)
- [x] Add telemetry to SegmentAPI, it was not included. (#788)
- [x] New clients #805
- [x] locking and soak tests for thread-safety
- [x] Migration tool
- [x] Fix#739
- [x] Fix metadata None vs empty
- [x] Fix persist directory (addressed in #761)
- [x] Leave files open in #761 (merge stacked PR)
Post Release
- [ ] Un xfail cross version tests once we cut the release
- [x] Documentation updates for new silent ADD failure.
- [x] Update all documentation for new API instantiation
- [x] Update all documentation for settings changes
- [ ] Update terraform deployment
- [ ] Update cloudformation deployment
---------
Co-authored-by: Luke VanderHart <luke@vanderhart.net>
Co-authored-by: Jeffrey Huber <jeff@trychroma.com>
Co-authored-by: Anton Troynikov <atroyn@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Sosa <37946988+CakeCrusher@users.noreply.github.com>
Co-authored-by: Russell Pollari <russell@sharpestminds.com>
Co-authored-by: russell-pollari <pollarir@mgail.com>
## Description of changes
- Improvements & Bug fixes
Bug-591
## Test plan
1. docker compose up -d
2. delete collection earlier stored in the volume
## Documentation Changes
No documentation changes related to this PR.
---------
Co-authored-by: Jeff Huber <jeff@trychroma.com>
## Description of changes
Update docker-compose.yml to fix the persistence volume issue and run
the docker-compose up -d command without building a local image.
1. index_data mount fixed - It was mounted to the root of the server
container, but it should be mounted to /chroma/.chroma/index location,
that's where indexes are generated.
2. clickhouse mount fixed - Added mount location where actual database
is stored.
*Summarize the changes made by this PR.*
- Improvements & Bug fixes
[- (https://github.com/chroma-core/chroma/issues/527) ]
1. docker compose up -d
2. create collection
3. add documents
4. query documents
5. docker compose down
6. docker compose up -d
7. query documents - Output will be httpError, data is lost when step 5
was performed
- New functionality
- Users can directly run the following command, no need to clone repo
and build local image
> docker-compose up -d
## Test plan
*How are these changes tested?*
1. docker-compose up -d
2. create collection
3. add documents
4. query documents
5. docker compose down
6. docker compose up -d
7. query documents
8. compare result of 4 & 7 - changes does match and preserve data.
## Added NOTE:
This PR may conflict with the following PR. I think the docker-compose
command should be usable without a manual build process locally, hence
creating this PR.
https://github.com/chroma-core/chroma/pull/456
## Documentation Changes
*Are all docstrings for user-facing APIs updated if required? Do we need
to make documentation changes in the [docs
repository](https://github.com/chroma-core/docs)?*
Yes, main readme