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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions