-
Notifications
You must be signed in to change notification settings - Fork 588
HDDS-10338. Implement a Client Datanode API to stream a block #6613
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
Closed
Closed
Changes from all commits
Commits
Show all changes
136 commits
Select commit
Hold shift + click to select a range
d6d7b2a
implement data stream api
chungen0126 d8a519d
implement XceiverClientGrpc#sendCommandOnlyRead
chungen0126 ffebd66
read data to buffers
chungen0126 a6ed056
create NewBlockInputStream to support Streaming data
chungen0126 fbd20eb
fix checkstyle
chungen0126 a663604
fix checkstyle
chungen0126 0f35371
fix synchronized
chungen0126 80329dc
fix synchronized
chungen0126 e398d17
fix synchronized
chungen0126 a404266
fix synchronized
chungen0126 c57c2e6
fix synchronized
chungen0126 4dc9082
fix synchronized
chungen0126 af4a25b
ignore find bugs in TestNewBlockInputStream
chungen0126 79ae3eb
clean up
chungen0126 b1b301e
implement server side stream data
chungen0126 ad0fd8d
fix bug
chungen0126 e86aee9
fix bug
chungen0126 5442761
Merge branch 'master' into HDDS-10338
chungen0126 8d97d47
fix bug
chungen0126 b694448
fix bug
chungen0126 d5dc908
fix bug
chungen0126 74eac1e
fix bug
chungen0126 29c8f80
fix bug
chungen0126 741effb
fix bug
chungen0126 f1d4d7f
fix checkstyle
chungen0126 6a67375
fix bug
chungen0126 b0c64d7
Merge branch 'master' into HDDS-10338
chungen0126 b4cfd3f
fix checkstyle
chungen0126 91631ac
fix bug
chungen0126 6e36ec1
fix bug
chungen0126 e0b1d2b
fix bug
chungen0126 0e8576e
fix bug
chungen0126 f243c46
fix bug
chungen0126 1d8500f
Merge branch 'master' into HDDS-10338
chungen0126 80eb936
fix bug
chungen0126 7afa66b
Merge branch 'master' into HDDS-10338
chungen0126 b26b51d
fix protobuf
chungen0126 c4e8b2b
rename NewBlockInputStream
chungen0126 56d8ca9
revert sendCommandWithRetry
chungen0126 7807741
Merge branch 'master' into HDDS-10338
chungen0126 a8ea3ec
Merge branch 'master' into HDDS-10338
chungen0126 57b874c
make strea block configurable
chungen0126 7b98108
fix checkstyle
chungen0126 db82e3b
remove TestStreamBlockInput
chungen0126 158d2e4
fix checkstyle
chungen0126 4935668
Merge branch 'master' into HDDS-10338
chungen0126 d87d2c4
Merge branch 'master' into HDDS-10338
chungen0126 4b5e14c
Merge branch 'master' into HDDS-10338
chungen0126 0d0e31c
Merge branch 'master' into HDDS-10338
chungen0126 d7e9c92
Merge branch 'master' into HDDS-10338
chungen0126 3cefe36
update for compabatbilities and add some tests
chungen0126 61b79ae
default streamReadBlock as false
chungen0126 5fb1478
log BlockInputStream Initializing
chungen0126 b857fba
remove ReadBlockResponse
chungen0126 92505bc
remove ReadBlockResponse
chungen0126 8202468
remove V0
chungen0126 a1925c4
fix checkstyle
chungen0126 ef23455
remove V0
chungen0126 7a7388f
fix checkstyle
chungen0126 7bbe3d9
adress comments
chungen0126 71094bd
add testReadBlock in TestKeyValueHandler and rename variable
chungen0126 9e5f77c
fix checkstyle and fix bug
chungen0126 281e91e
revert StreamObserver<ContainerCommandResponseProto>.onComplete
chungen0126 397ef40
create functions to handle exception
chungen0126 fe5f8ec
address comments
chungen0126 9566b89
address comments
chungen0126 200da6d
address comments
chungen0126 0814a22
address comments
chungen0126 e040768
address comment
chungen0126 ece66fc
Merge branch 'master' into HDDS-10338
chungen0126 398692e
fix DummyStreamBlockInput
chungen0126 fead0b7
rmove StreamData type
chungen0126 2fb2851
fix checkstyle
chungen0126 dec005d
Merge branch 'master' into HDDS-10338
chungen0126 1968756
Merge branch 'master' into HDDS-10338
chungen0126 5c70fd4
fix verify checksum
chungen0126 bc804ff
no need to compute startByteIndex
chungen0126 0e4e41e
address comments
chungen0126 f8e5f28
address comments
chungen0126 228de8d
add read empty block in TestStreamBlockInputStream.java
chungen0126 c24da9b
address comments
chungen0126 f457ac2
fix checkstyle
chungen0126 c1fbad2
address comments
chungen0126 5e2b3cf
Merge branch 'master' into HDDS-10338
chungen0126 ba100c8
fix conflict
chungen0126 1fec95f
Merge remote-tracking branch 'origin/master' into HDDS-10338
adoroszlai 7daa875
Merge branch 'master' into HDDS-10338
chungen0126 5db133a
fix checks
chungen0126 2bf716d
fix checks
chungen0126 d53bdcb
fix checkstyle
chungen0126 aa51cbb
fix test
chungen0126 03986e4
Merge branch 'master' into HDDS-10338
jojochuang 2d07ec0
Merge branch 'master' into HDDS-10338
chungen0126 d39fd6b
fix checkstyle
chungen0126 7656d66
fix find bug
chungen0126 b794dd9
fix checkstyle
chungen0126 eec8afb
fix find bug
chungen0126 dbab8e2
Merge branch 'master' into HDDS-10338
chungen0126 fc95079
fix test
chungen0126 ec0aa17
Merge branch 'master' into streaming
3f2396f
Fix compile error due to no scanner message
1f90a0a
A ChunkOffsetInBlock to the ChunkInfo proto message to allow checksum…
009938c
Merge branch 'master' into streaming
8ba23fc
Remove open telemetery reference
7a3cd39
Fix pmd error
815a0cb
Merge branch 'master' into streaming
4c91e42
Refactor to stream entire block to client in a single call. Commented…
e2cdb12
Implement seek
f729fcc
Test for and implement no checksum case
94ad468
Revert "Add ChunkOffsetInBlock to the ChunkInfo proto message to allo…
03898c2
Adapted unit tests to the new approach
10f3094
Fix style and remove commented tests
877df66
Remove synchronization from streaming reader
5525770
Remove or comment out unused code
325e833
Merge branch 'master' into streaming
8d3ddff
Throw IOException for ops attempts after closed
7a37fcc
Move setPipeline into shared superclass
559c8a1
Fix findbugs warning
71c89f0
Fix PMD
aee40b4
Fix more findbugs
5b99b8d
Remove test broken by refactor. It is covered by the integration test…
3f117b7
Fix bug caused by refactor
7234baa
Tidy up formatting
af70910
Reuse datanode selection and deadline code in XCeiverGRPC
4b37064
Fix findbugs
4d74479
Retry initializing the reader if all DNs fail via pipeline refresh
6bd9885
Fix broken test caused by refactor
b12e235
Refresh pipeline only for specific exception catagories
27d4c66
Merge branch 'master' into streaming
6e4463e
Take and release semaphore when starting / completing streaming reads
ca61312
Fix findbugs sync warning
79ceaa9
Address review comment for handling local errors with onError
5b70412
Refactor somewhat to address problems when local checksum validation …
726f8e4
Adding new file missed in last commit
117fa17
Implement flow control to backoff the stream when the client is slow
4375666
Update hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/st…
sodonnel File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
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.
do we do that only for one node?
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.
Yes, it iterates over the list of available datanodes, and uses the first one that works. If the first one fails to connect, it will try to use the next one etc.