chroma-core/chroma · error · ChromaValueError
transactional read token changed from log upper bound offset
Error message
transactional read token changed from log upper bound offset ${expectedReadToken} to ${actualReadToken} What it means
Error "transactional read token changed from log upper bound offset ${expectedReadToken} to ${actualReadToken}" thrown in chroma-core/chroma.
Source
Thrown at clients/new-js/packages/chromadb/src/collection.ts:1640
}
}
private validateReadToken(
expectedReadToken: number | null,
actualReadToken: number | null | undefined,
): void {
if (actualReadToken === null || actualReadToken === undefined) {
throw new ChromaValueError(
"transactional get response did not include an OCC read token",
);
}
if (!Number.isSafeInteger(actualReadToken) || actualReadToken < 0) {
throw new ChromaValueError(
`transactional read token offset ${actualReadToken} is not a safe integer`,
);
}
if (expectedReadToken !== null && expectedReadToken !== actualReadToken) {
throw new ChromaValueError(
"transactional read token changed from log upper bound offset " +
`${expectedReadToken} to ${actualReadToken}`,
);
}
if (this.readToken !== null && this.readToken !== actualReadToken) {
throw new ChromaValueError(
"transactional read token changed from log upper bound offset " +
`${this.readToken} to ${actualReadToken}`,
);
}
}
private bufferWrite(
operation: "add",
ids: string[],
payload: AddCollectionRecordsPayload,
): void;
private bufferWrite(View on GitHub (pinned to aecdd12c8a)
When it happens
Trigger: Thrown at clients/new-js/packages/chromadb/src/collection.ts:1640 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of chroma-core/chroma@aecdd12c8a (2026-08-16).
Data as JSON: /api/errors/65e912ae09e18e33.
Report an issue: GitHub.