peterxcli commented on code in PR #10224:
URL: https://github.com/apache/ozone/pull/10224#discussion_r3254553348
##########
hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/io/OzoneDataStreamOutput.java:
##########
@@ -100,40 +102,67 @@ public synchronized void close() throws IOException {
}
public OmMultipartCommitUploadPartInfo getCommitUploadPartInfo() {
- KeyDataStreamOutput keyDataStreamOutput = getKeyDataStreamOutput();
- if (keyDataStreamOutput != null) {
- return keyDataStreamOutput.getCommitUploadPartInfo();
+ KeyCommitOutput keyCommitOutput = getKeyCommitOutput();
+ if (keyCommitOutput != null) {
+ return keyCommitOutput.getCommitUploadPartInfo();
}
// Otherwise return null.
return null;
}
public KeyDataStreamOutput getKeyDataStreamOutput() {
+ if (byteBufferStreamOutput instanceof KeyDataStreamOutput) {
+ return ((KeyDataStreamOutput) byteBufferStreamOutput);
+ }
if (byteBufferStreamOutput instanceof OzoneOutputStream) {
OutputStream outputStream =
((OzoneOutputStream) byteBufferStreamOutput).getOutputStream();
- if (outputStream instanceof KeyDataStreamOutput) {
- return ((KeyDataStreamOutput) outputStream);
- } else if (outputStream instanceof CryptoOutputStream) {
- OutputStream wrappedStream =
- ((CryptoOutputStream) outputStream).getWrappedStream();
- if (wrappedStream instanceof KeyDataStreamOutput) {
- return ((KeyDataStreamOutput) wrappedStream);
- }
- } else if (outputStream instanceof CipherOutputStreamOzone) {
- OutputStream wrappedStream =
- ((CipherOutputStreamOzone) outputStream).getWrappedStream();
- if (wrappedStream instanceof KeyDataStreamOutput) {
- return ((KeyDataStreamOutput) wrappedStream);
- }
+ OutputStream unwrappedStream = unwrap(outputStream);
+ if (unwrappedStream instanceof KeyDataStreamOutput) {
+ return ((KeyDataStreamOutput) unwrappedStream);
+ }
+ }
+ // Otherwise return null.
+ return null;
+ }
+
+ private KeyCommitOutput getKeyCommitOutput() {
Review Comment:
The `testPartUploadWithStandardIA` regression test is covering the case
where `getKeyDataStreamOutput()` returns null for EC MPU.
https://github.com/apache/ozone/blob/7b829183a0eddde0d0de542b19fef757eff5d7d4/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpointStreaming.java#L245
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]