Skip to content

Add blocking behavior for full processor queues - #5181

Draft
arnabnandy7 wants to merge 4 commits into
open-telemetry:mainfrom
arnabnandy7:feature/processor-blocking-queue
Draft

Add blocking behavior for full processor queues#5181
arnabnandy7 wants to merge 4 commits into
open-telemetry:mainfrom
arnabnandy7:feature/processor-blocking-queue

Conversation

@arnabnandy7

Copy link
Copy Markdown

Fixes #5178

Changes

Adds configurable queue-full behavior for batch span and batch log record processors.

This introduces:

  • onQueueFull with DROP and BLOCK behavior.
  • blockOnQueueFullTimeoutMillis for bounded blocking when BLOCK is selected.
  • Environment variables for both BSP and BLRP configuration:
    • OTEL_BSP_ON_QUEUE_FULL
    • OTEL_BSP_BLOCK_ON_QUEUE_FULL_TIMEOUT
    • OTEL_BLRP_ON_QUEUE_FULL
    • OTEL_BLRP_BLOCK_ON_QUEUE_FULL_TIMEOUT

The default behavior remains DROP, preserving existing behavior unless users opt into blocking.

Signed-off-by: Arnab Nandy <arnab_nandy7@yahoo.com>
@arnabnandy7
arnabnandy7 requested a review from a team as a code owner June 26, 2026 11:51

@pellared pellared left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@arnabnandy7

Copy link
Copy Markdown
Author

The PR does not fulfill the contributing requirements: https://github.com/open-telemetry/opentelemetry-specification/blob/main/CONTRIBUTING.md#smaller-changes

@pellared should I wait until other high-value features are merged into it, then proceed?

@arnabnandy7
arnabnandy7 marked this pull request as draft June 26, 2026 12:12
@arnabnandy7

Copy link
Copy Markdown
Author

@pellared, sorry to confuse you, I mean this PR was raised based on a change in #5178. If that alone doesn't qualify requirements, then should I need to add changes related to some other issues as well to make it bulky?

@cijothomas

Copy link
Copy Markdown
Member

@pellared, sorry to confuse you, I mean this PR was raised based on a change in #5178. If that alone doesn't qualify requirements, then should I need to add changes related to some other issues as well to make it bulky?

The linked issue is not triaged and accepted. That is a pre-requisite.

@arnabnandy7

Copy link
Copy Markdown
Author

The linked issue is not triaged and accepted. That is a pre-requisite.

@cijothomas @pellared thanks for the feedback. I'll wait for this issue to be moved till then I'll mark it as draft.

@pellared

Copy link
Copy Markdown
Member

Moreover,

The PR description must include links to prototypes:

If the change adds or modifies SDK component configuration, the PR must link to a corresponding proposed change to the declarative configuration schema. These PRs should be approved and merged together.

Also this is a new configuration so it has to be marked as Development status.

@arnabnandy7

Copy link
Copy Markdown
Author

@pellared, once it's accepted for triage, I'll ensure the missing components are adhered to.

Signed-off-by: Arnab Nandy <arnab_nandy7@yahoo.com>
@github-actions

Copy link
Copy Markdown

This PR was marked stale. It will be closed in 14 days without additional activity.

@github-actions github-actions Bot added the Stale label Jul 11, 2026
@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Aug 11, 2026

Copy link
Copy Markdown

Pull request dashboard status

Waiting on the author · refreshed 2026-08-20 15:49 UTC

Move out of draft to request review.

Status above doesn't look right?
  • Just replied or pushed? Anything around or after the refresh time above may not be picked up yet — give it a few minutes.
  • Anything look wrong? Report it with what you expected; it helps us improve the dashboard.

@jmacd jmacd self-assigned this Aug 19, 2026
@github-actions github-actions Bot removed the Stale label Aug 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BatchSpanProcessor / BatchLogRecordProcessor: add opt-in blocking mode when queue is full

4 participants