Skip to content

Conversation

@ehigham
Copy link
Member

@ehigham ehigham commented Nov 18, 2025

Change Description

This PR refactors stream handling in the codebase by introducing buffering and byte tracking utilities as extension methods. It adds RichCodeInputStream and RichCodeOutputStream classes with methods like buffer and trackBytes to simplify stream creation and management.

The changes remove direct instantiation of BufferedInputStream, BufferedOutputStream, and ByteTrackingOutputStream throughout the codebase, replacing them with the new extension methods. This standardizes stream handling and makes the code more consistent.

The PR also updates various file operations in EmitClassBuilder, MatrixWriter, TableWriter, and other classes to use these new utilities, ensuring consistent stream handling across the codebase.

Security Assessment

This change cannot impact the Hail Batch instance as deployed by Broad Institute in GCP

Copy link
Member Author

ehigham commented Nov 18, 2025

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@ehigham ehigham force-pushed the ehigham/limit-open-compression-uses branch from 10dec30 to cb7c670 Compare November 20, 2025 04:01
@ehigham ehigham force-pushed the ehigham/scala-fs-extract-primitives branch from 6079d3d to 0bcda90 Compare November 20, 2025 04:01
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.

2 participants