Skip to content

Add docs and tests about StreamOutput to memory#140365

Merged
DaveCTurner merged 4 commits intoelastic:mainfrom
DaveCTurner:2026/01/08/StreamOutput-docs-and-tests
Jan 12, 2026
Merged

Add docs and tests about StreamOutput to memory#140365
DaveCTurner merged 4 commits intoelastic:mainfrom
DaveCTurner:2026/01/08/StreamOutput-docs-and-tests

Conversation

@DaveCTurner
Copy link
Contributor

There's various ways to serialize a Writeable into in-memory buffers,
but the differences are pretty subtle and took some digging to pin down.
This commit adds docs to describe the area better, and some testing to
demonstrate that all the options produce the same results.

There's various ways to serialize a `Writeable` into in-memory buffers,
but the differences are pretty subtle and took some digging to pin down.
This commit adds docs to describe the area better, and some testing to
demonstrate that all the options produce the same results.
@DaveCTurner DaveCTurner requested a review from mhl-b January 8, 2026 14:37
@DaveCTurner DaveCTurner requested a review from a team as a code owner January 8, 2026 14:37
@DaveCTurner DaveCTurner added >test Issues or PRs that are addressing/adding tests :Distributed/Network Http and internode communication implementations v9.4.0 labels Jan 8, 2026
@elasticsearchmachine elasticsearchmachine added the Team:Distributed Coordination (obsolete) Meta label for Distributed Coordination team. Obsolete. Please do not use. label Jan 8, 2026
@elasticsearchmachine
Copy link
Collaborator

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

Copy link
Contributor

@mhl-b mhl-b left a comment

Choose a reason for hiding this comment

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

LGTM, thank you, valuable documentation.

Comment on lines 41 to 42
* collector, copying over the existing data to the new collector, so this can perform badly for larger objects. For large enough objects
* this will start to perform humongous allocations which can be stressful for the garbage collector.
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe a hint what is a large object and what to use instead of ByteArrayOutputStream?

@DaveCTurner DaveCTurner enabled auto-merge (squash) January 12, 2026 10:59
@DaveCTurner DaveCTurner merged commit 70c5b0f into elastic:main Jan 12, 2026
35 checks passed
szybia added a commit to szybia/elasticsearch that referenced this pull request Jan 12, 2026
…i-project-tests

* upstream/main: (23 commits)
  Fix `testAckListenerReceivesNacksIfPublicationTimesOut` (elastic#140514)
  Reduce priority of clear-cache tasks (elastic#139685)
  Add docs and tests about `StreamOutput` to memory (elastic#140365)
  ES|QL - dense_vector support for COUNT, PRESENT, ABSENT aggregator functions (elastic#139914)
  Add release notes for v9.2.4 release (elastic#140487)
  Add release notes for v9.1.10 release (elastic#140488)
  Add conncectors release notes for 9.1.10, 9.2.4 (elastic#140499)
  Add parameter support in PromQL query durations (elastic#139873)
  Improve testing of STS credentials reloading (elastic#140114)
  Fix zstd native binary publishing script to support newer versions (elastic#140485)
  Add FlattenedFieldBinaryVsSortedSetDocValuesSyntheticSourceIT (elastic#140489)
  Store fallback match only text fields in binary doc values (elastic#140189)
  [DiskBBQ] Use the new merge executor for intra-merge parallelism (elastic#139942)
  ESQL: introduce support for mapping-unavailable fields (elastic#140463)
  Add ESNextOSQVectorsScorerTests (elastic#140436)
  Disable high cardinality tests on release builds (elastic#140503)
  ESQL: TRange timezone support (elastic#139911)
  Directly compressing `StreamOutput` (elastic#140502)
  ES|QL - fix dense vector enrich bug (elastic#139774)
  Use CrossProjectModeDecider in RemoteClusterService (elastic#140481)
  ...
spinscale pushed a commit to spinscale/elasticsearch that referenced this pull request Jan 21, 2026
There's various ways to serialize a `Writeable` into in-memory buffers,
but the differences are pretty subtle and took some digging to pin down.
This commit adds docs to describe the area better, and some testing to
demonstrate that all the options produce the same results.
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 Team:Distributed Coordination (obsolete) Meta label for Distributed Coordination team. Obsolete. Please do not use. >test Issues or PRs that are addressing/adding tests v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants