MemPalace/mempalace · error · FileNotFoundError
Sidecar database not found: {sidecar_path}
Error message
Sidecar database not found: {sidecar_path} What it means
Error "Sidecar database not found: {sidecar_path}" thrown in MemPalace/mempalace.
Source
Thrown at mempalace/repair.py:2237
(segment_id,),
).fetchone()
if row is None or row[0] is None:
return 0
val = row[0]
if isinstance(val, (bytes, bytearray)):
return int.from_bytes(val, "big")
return int(val)
def _read_sidecar_seq_ids(sidecar_path: str) -> dict[str, int]:
"""Load ``{segment_id: seq_id}`` from a sidecar DB's ``max_seq_id`` table.
Rejects sidecar files whose ``max_seq_id.seq_id`` is itself BLOB-typed
— a sidecar that old predates chromadb's type normalisation and is not
a trustworthy restoration source.
"""
if not os.path.isfile(sidecar_path):
raise FileNotFoundError(f"Sidecar database not found: {sidecar_path}")
out: dict[str, int] = {}
with sqlite3.connect(sidecar_path) as conn:
rows = conn.execute("SELECT segment_id, seq_id, typeof(seq_id) FROM max_seq_id").fetchall()
for segment_id, seq_id, kind in rows:
if kind == "blob":
raise ValueError(
f"Sidecar has BLOB-typed seq_id for {segment_id}; refusing to use it. "
"Pass a sidecar that was already migrated to INTEGER rows."
)
out[str(segment_id)] = int(seq_id)
return out
def repair_max_seq_id(
palace_path: str,
*,
segment: Optional[str] = None,
from_sidecar: Optional[str] = None,View on GitHub (pinned to 06cb6987f0)
Solutions
- Provide the correct sidecar path for the segment
When it happens
Trigger: Thrown at mempalace/repair.py:2237 when the library encounters an invalid state.
Common situations: Sidecar database file for the segment was not found.
AI-assisted analysis of MemPalace/mempalace@06cb6987f0 (2026-08-15).
Data as JSON: /api/errors/5bcee1d8595f64ed.
Report an issue: GitHub.