Skip to content

confluentinc#65: Enhanced retry epic #239

Open

Description

@astubbs

Mirror of confluentinc/parallel-consumer#65
Upstream title (verbatim, 2023-07-07): Enhanced retry epic
Opened by astubbs, 2021-01-14 · 5 comments upstream
Closed upstream 2023-07-07 as completed by an administrative sweep, with two of its five
children still open. Not a resolution.
Summarised, not copied. Discussion belongs here - the Confluent-hosted repository is no longer maintained.

Summary

Umbrella issue for retry behaviour. Upstream checklist, with current state of each child verified:

Child Upstream state Fork status
Basic retry options - customisable failure delay, enable/disable done defaultMessageRetryDelay present
Retry failure callback (as well as, or instead of, DLQ) - PR #92 merged 2021-07-23 present
Custom retry delay from a supplier function - #82 closed completed retryDelayProvider present
Explicit terminal/retriable exceptions - #242 closed completed PCRetriableException present
Max retries reached: skip, die or DLQ? - #196 still open upstream not implemented
Dead letter queue - #310 still open upstream not implemented

So the epic was closed as "completed" while its two most substantial children were open, and remain
unimplemented in the fork.

Upstream discussion worth keeping

The thread is where the retry API was shaped with users. radoslawtwardy asked for a custom retry
delay function; the reply pointed at the astubbs:retry-delay-generator-func branch and asked for
API feedback - that became #82 and shipped. Retry count was later exposed through record headers
(#197). Strongly related to
#34 (detecting no progress at all).

Fork status

Open, reduced to its two remaining children. What is left of this epic is exactly:

  1. A retry limit with a defined action on expiry (skip / fail / DLQ) - upstream docs #167: fix the retry-delay example, and the reference conventions it ran into #196.
  2. A DLQ implementation - upstream docs(ideation): actor-collection revival - six ranked, evidence-verified directions #310, already mirrored as fork confluentinc#310: Add a dead letter queue (DQL) implementation #149.

Suggest keeping this as the epic tying #34, #48, #196 and #310 together, since the precedence rules
between retry delay sources and expiry actions need to be decided once, not four times.

Prior work

Upstream PR #366 ("Dead letter queue
(DLQ) as option for retry expiration", branch astubbs/features/retry-dlq, head e5bf77c9b) was
closed unmerged in the 2023-06-15 sweep - that is a draft of both remaining children at once.
Commit still reachable.


Mirrored because the upstream issue was closed by an administrative sweep on 2023-07-07, not by a fix or a decision: all 28 issues closed that day carried the single comment "Closing Issue" and were marked completed. A separate sweep three weeks earlier (2023-06-15) closed 35 unmerged PRs with "Closing - Stale.", several of which implemented these issues. Mapping lives in src/docs/development/upstream-map.yaml.

Activity

  1. added
    featureNew capability or improvement to an existing one
    upstream-mirrorMirrored from the upstream confluentinc tracker
    pr-availableAn implementation exists in a PR - open here, or orphaned upstream
    upstream-admin-closedClosed upstream by the 2023 administrative sweep, not by a fix or a decision
    on Aug 7, 2026
  2. added a commit that references this issue on Sep 10, 2026
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

    area/error-handlingArea: error-handlingfeatureNew capability or improvement to an existing onepr-availableAn implementation exists in a PR - open here, or orphaned upstreamupstream-admin-closedClosed upstream by the 2023 administrative sweep, not by a fix or a decisionupstream-mirrorMirrored from the upstream confluentinc tracker

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions