-
Notifications
You must be signed in to change notification settings - Fork 242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a zero-copy deserializer to gRPC Read #564
Add a zero-copy deserializer to gRPC Read #564
Conversation
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcReadChannel.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
ad722d1
to
87f281c
Compare
@mprashanthsagar Could you please review this PR? This is now ready to review. |
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyReadinessChecker.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
/gcbrun |
Codecov Report
@@ Coverage Diff @@
## master #564 +/- ##
============================================
- Coverage 80.34% 80.33% -0.01%
- Complexity 2074 2088 +14
============================================
Files 140 142 +2
Lines 9027 9120 +93
Branches 1074 1083 +9
============================================
+ Hits 7253 7327 +74
- Misses 1333 1348 +15
- Partials 441 445 +4
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcReadChannel.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyReadinessChecker.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyReadinessChecker.java
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcReadChannel.java
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcReadChannel.java
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcReadChannel.java
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Outdated
Show resolved
Hide resolved
gcsio/src/main/java/com/google/cloud/hadoop/gcsio/ZeroCopyMessageMarshaller.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible to add a test case to cover, not using zero-copy deserializer path ?
Rest of the changes LGTM
@mprashanthsagar Adding some unit tests for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tests in ReadChannel with the case useZeroCopyMarshaller
being false
Added a unit test for |
This PR add an gRPC read optimization using the zero-copy deserializer and reduces two memory copies involved. This is based on grpc/grpc-java#8102 which will be released from grpc-java 1.39.0 and tested earlier with GoogleCloudPlatform/grpc-gcp-java#77.