Skip to content

Stop retrying kind 10011 on relays that permanently reject it #114

Description

@saiy2k

Context

Daily relay-directory-backfill in gr-prod repeatedly marks some relay/kind cursors as retry_later for permanent kind rejections, which adds churn every 06:00 UTC run without ever progressing.

Observed (stable across recent daily runs):

  • closed:ERROR: bad req: filter validation failed: kind not allowed: 10011 on wss://relay.us.whitenoise.chat and wss://relay.eu.whitenoise.chat
  • closed:kinds not supported on wss://relay.fountain.fm (kind 10011)

Transient failures (timeout, auth, etc.) should keep using retry_later.

Proposal

When a relay closes a REQ because the kind is permanently unsupported (kind not allowed / kinds not supported):

  1. Checkpoint the cursor as terminal (status: "unsupported", completed: true) instead of retry_later
  2. Skip that cursor on resume (same terminal path as complete)
  3. Preserve the original lastReason for observability

Acceptance

  • Permanent kind rejects no longer produce daily retry_later for the relays above
  • Timeouts / other closed reasons still retry
  • Next daily run after deploy shows unsupported (or skip) rather than re-querying those cursors

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions