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
No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions