Skip to content

Dell: Reject negative ECS stream seeks - #17962

Open
charliec05 wants to merge 1 commit into
apache:mainfrom
charliec05:agent/dell-negative-seek
Open

Dell: Reject negative ECS stream seeks#17962
charliec05 wants to merge 1 commit into
apache:mainfrom
charliec05:agent/dell-negative-seek

Conversation

@charliec05

Copy link
Copy Markdown
Contributor

Summary

  • reject negative positions in EcsSeekableInputStream.seek
  • validate before changing the pending stream position, preserving state after a rejected seek
  • add regression coverage that verifies the existing position and subsequent read remain intact

Motivation

The other cloud-backed seekable streams reject negative positions. The ECS implementation instead stored -1 in its pending-position field, where -1 is also the sentinel for "no pending seek." This discarded the prior seek state and could leave the next read without an initialized underlying stream.

Testing

  • ./gradlew :iceberg-dell:spotlessApply :iceberg-dell:test

AI Disclosure

  • Model: GPT-5 (Codex)
  • Platform/Tool: OpenAI Codex
  • Human Oversight: fully reviewed
  • Prompt Summary: Used a detailed, repository-aware prompt to audit seekable stream boundary handling, require a minimal fix, add state-preserving regression coverage, and run the complete affected module test suite.

Validate seek positions before updating pending stream state so invalid offsets fail without corrupting the next read.

Generated-by: Codex
@github-actions github-actions Bot added the DELL label Sep 4, 2026
@charliec05

Copy link
Copy Markdown
Contributor Author

Hi @singhpk234, would you be willing to review this focused Dell ECS stream fix? It rejects negative seeks without corrupting the pending stream position, includes regression coverage, and all 42 CI checks pass. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant