Skip to content

probe admission timeout counted as failed probe causes long backoff #252

Closed as not planned

Description

@jsam

Follow-up to #232 (shared parameterized standing-query views). Found in review and accepted as-is: sharing is only delayed, and results stay correct.

Problem

Sharing probes for parameterized view families queue on a dedicated server-wide probe semaphore of width 1 (PROBE_PERMITS) through supervise::admit. That admission gives up after MAX_ADMISSION_WAIT (30 s) with a "Server overloaded" error. Family::evaluate treats any run_query error as a failed probe and calls stop_sharing(), which increments stops. The family then waits probe_after(bindings, 1) = 256 × bindings commits before it tries again.

Scenario: many families become due at once, each with a slow lifted round (for example several ~330 ms recursive families plus many others). Families at the back of the FIFO queue time out without ever evaluating, and they back off as if their round had been judged too slow. Each queued probe also keeps its snapshot pinned for up to 30 s.

Fix

For a probe, an admission timeout (or any error before the round ran) is not a stop. It should only clear probing, so the next due point retries. Consider also not pinning the snapshot while a probe waits for its permit: take a fresh snapshot once admitted.

Evidence

The review finding text is in the PR's pipeline run 01M43D7SN7K9F0HATBNA3992QD (finding probe-queue-timeout-counts-as-failure, src/protocol/subscription/parameterized.rs). The session-scale before/after tables are in the PR description.

Activity

  1. jsam commented on Oct 4, 2026

    @jsam
    ContributorAuthor

    Moved to the Engine production readiness milestone, the current focus (tracker #199). EN-11 (session scale): probe-admission follow-up of PR #254.

    Roadmap per the neurosymbolic decision layer plan: engine production readiness first, then gateway neural integration with Jev, CLM and Laya (#266).

  2. jsam commented on Oct 5, 2026

    @jsam
    ContributorAuthor

    Superseded by #318 (V11) in the incremental-views plan, epic #305.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions