Skip to content

Bug: Session Compressor continuously retries orphaned memory references (File not found) #1048

@samuelleung1009

Description

@samuelleung1009

Environment:

  • OpenViking version: 0.2.9
  • Python 3.12
  • Local backend (vectordb + queue.fs)
  • OS: Ubuntu

Problem Description:

The session.compressor continuously logs errors for memory files that no longer exist. These orphaned references cause infinite retries.

Error Log (repeats every few minutes):

2026-03-28 08:56:47,907 - openviking.session.compressor - ERROR - Failed to merge memory viking://user/ClaudeCode/memories/entities/mem_5c5dde86-1ab3-4cde-aecd-fbde1485e242.md: File not found: viking://user/ClaudeCode/memories/entities/mem_5c5dde86-1ab3-4cde-aecd-fbde1485e242.md
2026-03-28 08:56:47,907 - openviking.session.compressor - ERROR - Failed to merge memory viking://user/ClaudeCode/memories/entities/mem_c7ca02db-4226-4c42-a638-48c7d2cc4e52.md: File not found: viking://user/ClaudeCode/memories/entities/mem_c7ca02db-4226-4c42-a638-48c7d2cc4e52.md
...

Affected URIs:

  • viking://user/ClaudeCode/memories/entities/mem_5c5dde86-*
  • viking://user/ClaudeCode/memories/entities/mem_c7ca02db-*
  • viking://user/ClaudeCode/memories/entities/mem_925acff6-*
  • viking://user/ClaudeCode/memories/entities/mem_ac207d28-*
  • viking://user/default/memories/entities/mem_5ddaedd4-*
  • viking://agent/593c73a6b8d0/memories/patterns/mem_a133eab7-*
  • viking://agent/593c73a6b8d0/memories/patterns/mem_3106ba58-*

Expected Behavior:
When a memory file is not found, the compressor should remove the orphaned reference from its tracking state instead of retrying indefinitely.

Actual Behavior:

  • Semantic Queue processes all pending items (0 pending, 0 errors shown in ov observer queue)
  • But session.compressor continues to retry the same missing files every few minutes
  • No way to clear these orphaned references via CLI (ov session, ov admin, ov system)

System Status:

[queue] (healthy) - 0 pending, 0 in progress
[vikingdb] (healthy) - 435 vectors
[system] (healthy)

Impact:

  • No functional impact on search/indexing
  • Logs are flooded with repeated error messages
  • Wastes CPU cycles on futile retry attempts

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions