mladjan-gadzic commented on code in PR #4448:
URL: https://github.com/apache/ozone/pull/4448#discussion_r1159408294
##########
hadoop-ozone/dist/src/main/smoketest/s3/objectputget.robot:
##########
@@ -151,14 +151,34 @@ Incorrect values for end and start offset
Should Be Equal ${expectedData}
${actualData}
Zero byte file
- ${result} = Execute AWSS3APICli and checkrc
get-object --bucket ${BUCKET} --key ${PREFIX}/putobject/key=value/zerobyte
--range bytes=0-0 /tmp/testfile2.result 255
- Should contain ${result}
InvalidRange
-
- ${result} = Execute AWSS3APICli and checkrc
get-object --bucket ${BUCKET} --key ${PREFIX}/putobject/key=value/zerobyte
--range bytes=0-1 /tmp/testfile2.result 255
- Should contain ${result}
InvalidRange
-
- ${result} = Execute AWSS3APICli and checkrc
get-object --bucket ${BUCKET} --key ${PREFIX}/putobject/key=value/zerobyte
--range bytes=0-10000 /tmp/testfile2.result 255
- Should contain ${result}
InvalidRange
+ ${result} = Execute
ozone sh bucket info /s3v/${BUCKET}
+ ${linked} = Execute
echo '${result}' | jq -j '.sourceVolume,"/",.sourceBucket'
+ ${eval} = Evaluate
"source" in """${linked}"""
+ IF ${eval} == ${True}
+ ${result} = Execute
ozone sh bucket info ${linked}
+ END
+ ${fsolayout} = Evaluate
"OPTIMIZED" in """${result}"""
+
+ ${result} = Execute AWSS3APICli and checkrc get-object
--bucket ${BUCKET} --key ${PREFIX}/putobject/key=value/zerobyte --range
bytes=0-0 /tmp/testfile2.result 255
+ IF ${fsolayout} == ${True}
+ Should contain ${result}
NoSuchKey
+ ELSE
+ Should contain ${result}
InvalidRange
+ END
Review Comment:
> @SaketaChalamchala and I just had a brief offline discussion. We think it
is strange to return `NoSuchKey` for FSO bucket in this case. The intended
behavior should be the same as OBS or LEGACY bucket that returns `InvalidRange`.
I agree FSO should have the same behavior as OBS or LEGACY. However, in
order for it to be s3A compatible this is what is needed. Did quite a few
tests, and this fixes it.
> Any idea why this is the case currently? Is it feasible to fix this?
It has to do with internal path normalization for FSO, trailing slashes and
what s3A expects as response.
--
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]