## Description of changes
*Summarize the changes made by this PR.*
- Improvements & Bug fixes
- Fixes#721
- The remote image was not building properly because hnswlib needed a
version of gcc that supported C++11
- New functionality
- Added `gcc` and `g++` to the list of installed packages in the builder
image. This enables hnswlib to build properly.
## Test plan
*How are these changes tested?*
I recommend building the Docker image and running a container from it to
ensure that everything runs smoothly.
## 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)?*
No documentation changes are needed. However, it might be useful to
build and push these changes to the image:
`ghcr.io/chroma-core/chroma:latest` to resolve any issues with the
`docker-compose.server.example.yml` file.
Co-authored-by: Jeff Huber <jeff@trychroma.com>
## 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>
I have seen this issue on WSL2, mac, and linux. Sometimes one of the
dependencies for build-essential can't be retrieved and this flag should
fix this problem. Add --fix-missing flags to address periodically
failing hnswlib (build-essential is needed for hnswlib) installs during
docker builds.
## Description of changes
Add --fix-missing flags to address periodically failing hnswlib failures
during docker builds
## Test plan
Build the docker image, should build successfully. Would be helpful to
get the people who reported this issue to test out this fix since it can
be difficult to replicate if you have never had build issues.
## Documentation Changes
N/A
Co-authored-by: perry <perryaws2021@protonmail.com>
## Description of changes
Clickhouse data was being saved in an anonymous volume. Anonymous
volumes are not removed by default. However, as they don’t have a stable
name, they will not be automatically mounted by a subsequent `docker
compose up`. For data that needs to persist between updates, use
explicit paths as bind mounts or named volumes.
https://docs.docker.com/engine/reference/commandline/compose_down/#usage
The yaml in the repo makes it look like
clickhouse_data:/bitnami/clickhouse is where the data is supposed to go
but that isn't what's happening.
Modified Dockerfile to use multistage builder pattern to shrink the
docker image. The new image is 800MB smaller than the official chroma
image.
## Test plan
Build image locally. Unit tests all passed. Data persists after bringing
compose stack down and up. No actual chroma code change in this PR.

## Documentation Changes
None required.
---------
Co-authored-by: perry <perryaws2021@protonmail.com>
Co-authored-by: Jeffrey Huber <jeff@trychroma.com>