Skip to content

spike(storage): evaluate spill, buffering, and memory-pool reuse under construction pressure (#1504) #1507

Description

@DecisionNerd

Purpose

Evaluate external-sort/spill and memory-pool facilities under forced memory pressure for construction, including coexistence with GraphForge receipts and recovery.

Prerequisite

Blocked by the #1504 inventory/protocol child. Use that protocol.

Scope

  • Prototype applicable external-sort/spill and memory-pool facilities under forced memory pressure, not merely in-memory inputs.
  • Account for input/output batches, sort state, queues, completed results awaiting consumption, compression and writer buffers, adapters, spill files, and unregistered allocations. Distinguish reservation bounds, observed RSS, and page cache.
  • Evaluate transient-file ownership, cleanup, disk limits, corruption detection, descriptor authentication, crash/restart behavior, and coexistence with receipts/recovery. A library spill file is not automatically a durable checkpoint.
  • Measure bytes copied/read/written, spill amplification, file counts, durability barriers, simultaneous scratch, and refusal behavior.

Acceptance criteria

  • Runnable spill/memory-pool replacement or hybrid experiment exists under forced pressure, or a specific independently reviewed incompatibility proof for each inapplicable candidate.
  • Evidence distinguishes library spill from GraphForge durable checkpoints/recovery authority.
  • Failure cases include malformed/truncated/corrupt spills, disk exhaustion, and admission refusal where applicable.
  • Fair repeated measurements and maintenance/correctness tradeoff assessment are recorded for this mechanism.
  • Results stay bounded; no claim that encode-only evidence settles spill.

Non-goals

Production migration; weakening authentication for benchmark convenience; closing #1504 alone.

Parent

Native sub-issue and blocker of #1504. Blocked by inventory/protocol child.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreCore source code changestestingTest coverage and testing infrastructure

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions