Skip to content

Fix: Restart S3 reads from beginning after errors - #240

Closed
Vlasdislav wants to merge 1 commit into
open-gpdb:masterfrom
Vlasdislav:fix/restart-encrypted-s3-read
Closed

Vlasdislav wants to merge 1 commit into
open-gpdb:masterfrom
Vlasdislav:fix/restart-encrypted-s3-read

Conversation

@Vlasdislav

Copy link
Copy Markdown
Contributor

Adds an opt-in storage.read_retry_mode: restart_from_beginning mode for CAT reads. After a transient read error, yproxy reopens the object at offset zero, recreates the decryptor, and discards plaintext already delivered to the client before continuing. This avoids relying on a nonzero S3 Range response after an interrupted read.

The change also returns partial bytes before retrying and adds regression tests for both partial reads and full replay. Configure storage.read_retry_attempts to limit full restarts (default: 3).

@Vlasdislav
Vlasdislav force-pushed the fix/restart-encrypted-s3-read branch from edc3999 to bbd024a Compare October 15, 2026 13:10
@Vlasdislav Vlasdislav closed this Oct 15, 2026
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.

1 participant