Introducing retry policy to new PhysicalIO#320
Merged
ozkoca merged 3 commits intoawslabs:physical-io-featurefrom Jul 24, 2025
Merged
Introducing retry policy to new PhysicalIO#320ozkoca merged 3 commits intoawslabs:physical-io-featurefrom
ozkoca merged 3 commits intoawslabs:physical-io-featurefrom
Conversation
48b957c to
7bf1d47
Compare
d5d5a21 to
8b99d1f
Compare
fuatbasik
reviewed
Jul 24, 2025
| } | ||
|
|
||
| private void awaitDataWithRetry() throws IOException { | ||
| this.retryStrategy.get( |
Collaborator
There was a problem hiding this comment.
if awaitData is not returning anything, you can use retryStrategy.execute() instead, instead of returning null
ozkoca
added a commit
to ozkoca/analytics-accelerator-s3
that referenced
this pull request
Jul 25, 2025
Added iostats get request callback to streamReader (awslabs#317) This PR moves IOStat callback method request from Block to StreamReader. Needs to be done as part of code rebase --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). Telemetry support for physical IO (awslabs#318) This PR adds telemetry measures for StreamReader and BlockManager. Introducing retry policy to new PhysicalIO (awslabs#320) This PR adds the capability of retry to the new PhysicalIO awslabs#286 awslabs#287 awslabs#288 awslabs#289 awslabs#294 awslabs#316 existing APIs or behaviors? No No Unit tests --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
ozkoca
added a commit
to ozkoca/analytics-accelerator-s3
that referenced
this pull request
Jul 25, 2025
Added iostats get request callback to streamReader (awslabs#317) This PR moves IOStat callback method request from Block to StreamReader. Needs to be done as part of code rebase --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). Telemetry support for physical IO (awslabs#318) This PR adds telemetry measures for StreamReader and BlockManager. Introducing retry policy to new PhysicalIO (awslabs#320) This PR adds the capability of retry to the new PhysicalIO awslabs#286 awslabs#287 awslabs#288 awslabs#289 awslabs#294 awslabs#316 existing APIs or behaviors? No No Unit tests --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
ozkoca
added a commit
that referenced
this pull request
Jul 25, 2025
## Description of change This PR rebases ant integrates the changes in PR #321 #### Relevant issues #286 #287 #288 #289 #294 #316 #320 #### Does this contribution introduce any breaking changes to the existing APIs or behaviors? No #### Does this contribution introduce any new public APIs or behaviors? No #### How was the contribution tested? Unit tests --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
ozkoca
added a commit
that referenced
this pull request
Jul 25, 2025
## Description of change This PR changes default read buffer size to 128KB to have a better performance #### Relevant issues #286 #287 #288 #289 #294 #316 #320 #323 #### Does this contribution introduce any breaking changes to the existing APIs or behaviors? No #### Does this contribution introduce any new public APIs or behaviors? No #### How was the contribution tested? Unit tests #### Does this contribution need a changelog entry? N/A --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
ozkoca
added a commit
that referenced
this pull request
Jul 31, 2025
## Description of change This PR implements a new PhysicalIO design with key improvements: **Fixed Block Size:** Previously, block sizes varied based on request ranges, requiring entire request ranges to complete before blocks became available. The new design uses fixed-size blocks that become ready as soon as individual blocks are filled, enabling faster data access and better parallelization. **Direct Block Writing:** Eliminates an extra memory copy by writing S3 data directly into Block storage instead of copying from intermediate buffers, reducing memory overhead and CPU usage. **Improved Concurrency:** Fixed-size blocks allow multiple blocks to be processed independently, improving throughput for concurrent read operations. **Better Memory Management:** Predictable block sizes enable more efficient memory allocation and cache management strategies. **Enhanced Read Performance:** Blocks become available for reading as soon as they're filled, rather than waiting for entire request ranges to complete, reducing read latency. #### Relevant issues #286 #287 #288 #289 #294 #316 #320 #323 #324 #### Does this contribution introduce any breaking changes to the existing APIs or behaviors? No #### Does this contribution introduce any new public APIs or behaviors? No #### How was the contribution tested? Unit tests, microbenchmarks #### Does this contribution need a changelog entry? - [ ] I have updated the CHANGELOG or README if appropriate --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of change
This PR adds the capability of retry to the new PhysicalIO
Relevant issues
#286
#287
#288
#289
#294
#316
Does this contribution introduce any breaking changes to the existing APIs or behaviors?
No
Does this contribution introduce any new public APIs or behaviors?
No
How was the contribution tested?
Unit tests
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).