elips/docs
Chapter VII · concurrency

Read-only mode & shared readers

Open the same database as read_only from any number of processes. They take a shared flock; mutations are rejected at the API boundary.

python
replica = elips.PersistentClient("/var/data/elips", access_mode="read_only")
for hit in replica.get_collection("docs").query(query_embeddings=q, n_results=10):
    ...
  • One read_write opener via exclusive lock
  • Many read_only openers via shared lock
  • Read-only collections reject add/delete/checkpoint with StorageError

This is the supported mode for shared-reader analytics and read-fanout serving. Writers run elsewhere; replicas pick up new segments on the next open or rotation.