Skip to content

fix: make IonReader.getBytes incremental for text and tree readers - #1175

Merged
popematt merged 1 commit into
amazon-ion:masterfrom
popematt:fix-getbytes-incremental
Nov 5, 2026
Merged

popematt merged 1 commit into
amazon-ion:masterfrom
popematt:fix-getbytes-incremental

Conversation

@popematt

@popematt popematt commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Issue #, if available:

Fix #319

Description of changes:

Successive getBytes calls on the same lob now continue where the previous call stopped in the text and DOM readers, matching the binary reader. The tree reader also honours offset and no longer throws when the buffer is smaller than the lob. Javadoc documents the semantics.

Removes the getBytes test skip for non-binary readers and adds coverage for chunked reads, reset on next value, null lobs, and argument checks.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@codecov

codecov Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.18519% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 68.36%. Comparing base (3c1b6b1) to head (71237f1).
⚠️ Report is 164 commits behind head on master.

Files with missing lines Patch % Lines
...java/com/amazon/ion/impl/IonReaderTextSystemX.java 77.77% 2 Missing ⚠️
.../java/com/amazon/ion/impl/IonReaderTreeSystem.java 86.66% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1175      +/-   ##
============================================
+ Coverage     67.23%   68.36%   +1.12%     
- Complexity     5484     5737     +253     
============================================
  Files           159      160       +1     
  Lines         23025    23491     +466     
  Branches       4126     4231     +105     
============================================
+ Hits          15481    16059     +578     
+ Misses         6262     6132     -130     
- Partials       1282     1300      +18     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Successive `getBytes` calls on the same lob now continue where the previous
call stopped in the text and DOM readers, matching the binary reader. The
tree reader also honours `offset` and no longer throws when the buffer is
smaller than the lob. Javadoc documents the semantics.

Removes the `getBytes` test skip for non-binary readers and adds coverage
for chunked reads, reset on next value, null lobs, and argument checks.
@tgregg
tgregg force-pushed the fix-getbytes-incremental branch from 0aaddde to 71237f1 Compare November 4, 2026 23:24
@popematt
popematt merged commit 5c08064 into amazon-ion:master Nov 5, 2026
79 of 90 checks passed
@popematt
popematt deleted the fix-getbytes-incremental branch November 5, 2026 04:34
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.

IonReader.getBytes implementation discrepancy

2 participants