Skip to content

Track recycler pages in circuit breaker#143738

Merged
DaveCTurner merged 2 commits intoelastic:mainfrom
DaveCTurner:2026/03/06/RecyclerBytesStreamOutput-CircuitBreaker
Mar 6, 2026
Merged

Track recycler pages in circuit breaker#143738
DaveCTurner merged 2 commits intoelastic:mainfrom
DaveCTurner:2026/03/06/RecyclerBytesStreamOutput-CircuitBreaker

Conversation

@DaveCTurner
Copy link
Copy Markdown
Member

Integrates RecyclerBytesStreamOutput with an optional CircuitBreaker
that tracks the pages in use as they are obtained from the recycler.

Integrates `RecyclerBytesStreamOutput` with an optional `CircuitBreaker`
that tracks the pages in use as they are obtained from the recycler.
@DaveCTurner DaveCTurner requested a review from drempapis March 6, 2026 12:26
@DaveCTurner DaveCTurner requested a review from a team as a code owner March 6, 2026 12:26
@DaveCTurner DaveCTurner added >non-issue :Distributed/Network Http and internode communication implementations v9.4.0 labels Mar 6, 2026
@elasticsearchmachine elasticsearchmachine added the Team:Distributed Meta label for distributed team. label Mar 6, 2026
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-distributed (Team:Distributed)

if (circuitBreaker == null) {
releasable = Releasables.wrap(pages);
} else {
final var releaseSize = this.pageSize * pages.size();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be cast to (long) to match the close() implementation?

Copy link
Copy Markdown
Contributor

@drempapis drempapis left a comment

Choose a reason for hiding this comment

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

LGTM!

@drempapis
Copy link
Copy Markdown
Contributor

Should this be limited to 9.4, or should it also be backported to the maintainable branches? I was planning to backport #143136

@DaveCTurner
Copy link
Copy Markdown
Member Author

#143136 is labelled a >non-issue which shouldn't be eligible for backporting - we should only be backporting bug fixes and even then only if we're comfortable about the risk of introducing a regression.

I'm likewise hesitant to backport this, I expect it to have no performance consequences in practice but I'd rather err on the side of caution.

@DaveCTurner DaveCTurner merged commit 5fdbb49 into elastic:main Mar 6, 2026
35 checks passed
@DaveCTurner DaveCTurner deleted the 2026/03/06/RecyclerBytesStreamOutput-CircuitBreaker branch March 6, 2026 14:47
szybia added a commit to szybia/elasticsearch that referenced this pull request Mar 6, 2026
…locations

* upstream/main: (153 commits)
  ES|QL: Update docs for TOP_SNIPPETS and DECAY (elastic#143739)
  Correctly include endpoint id in log msg in AuthorizationPoller (elastic#143743)
  Bar searching or sorting on _seq_no when disabled (elastic#143600)
  Generalize `testClientCancellation` test (elastic#143586)
  JSON_EXTRACT: zero-copy byte slicing for object, array, and number extraction (elastic#143702)
  Track recycler pages in circuit breaker (elastic#143738)
  [ESQL] Enable distributed pipeline breakers for external sources via FragmentExec (elastic#143696)
  Adding 'mode' and 'codec' fields to ES monitoring template (elastic#143673)
  [ESQL] Columnar I/O and vectorized block conversion for external sources (elastic#143703)
  Fix flaky MMR diversification YAML tests (elastic#143706)
  ES|QL codegen: check builder arguments for vector support (elastic#143724)
  Add Views Security Model (elastic#141050)
  ESQL: Prevent pushdown of unmapped fields in filters and sorts (elastic#143460)
  Don't run seq_no pruning tests in release CI (elastic#143725)
  ESQL: Support intra-row field references in ROW command (elastic#140217)
  ES|QL: Remove implicit limit in FORK branches in CSV tests (elastic#143601)
  IndexRoutingTests with and without synthetic id (elastic#143566)
  Synthetic id upgrade test in serverless (elastic#142471)
  Disable "Review skipped" comments for PRs without specified labels (elastic#143728)
  Cleanup ES|QL T-Digest code duplication, add memory accounting (elastic#143662)
  ...
sidosera pushed a commit to sidosera/elasticsearch that referenced this pull request Mar 6, 2026
Integrates `RecyclerBytesStreamOutput` with an optional `CircuitBreaker`
that tracks the pages in use as they are obtained from the recycler.
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Mar 9, 2026
Follow-on from elastic#143738 to expose the new `CircuitBreaker` parameter to
callers.
DaveCTurner added a commit that referenced this pull request Mar 9, 2026
Follow-on from #143738 to expose the new `CircuitBreaker` parameter to
callers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Distributed/Network Http and internode communication implementations >non-issue Team:Distributed Meta label for distributed team. v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants