-
Notifications
You must be signed in to change notification settings - Fork 9.2k
HADOOP-19129: [ABFS] Test Fixes and Test Script Bug Fixes #6676
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
Conversation
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
============================================================
|
|
🎊 +1 overall
This message was automatically generated. |
| logOutput() { | ||
| echo -e "$outputFormatOn" "$1" "$outputFormatOff" | ||
| } | ||
|
|
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.
additional line
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.
Taken
| expectedListResultsSize, listMaxResults, fileCount) | ||
| .hasSize(expectedListResultsSize); | ||
|
|
||
| AbfsRestOperation op = getFileSystem().getAbfsClient().listPath( |
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.
should we change it to store call to ensure that listing is always complete ?
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.
This test is supposed to test the client behavior only.
We have other tests to test recursive behavior as part of ITestAzureBlobFileSystemListStatus.java
| pos += appendWithOffsetHelper(client, path, data, fs, pos, ONE_MB); | ||
| pos += appendWithOffsetHelper(client, path, data, fs, pos, MB_2); | ||
| appendWithOffsetHelper(client, path, data, fs, pos, MB_4 - 1); | ||
| } |
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.
Add fs.close()
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.
Taken
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
============================================================
|
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
saxenapranav
left a comment
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.
Nice deep dive!
Some comments.
Please add in description example of how the test-script messages are changing.
| assertTrue(String.format("The actual value of %d was not equal to the " | ||
| + "expected value", statistics.getReadOps()), | ||
| statistics.getReadOps() == (largeValue + 3) || statistics.getReadOps() == (largeValue + 4)); | ||
| statistics.getReadOps() >= largeValue || statistics.getReadOps() <= (largeValue + 4)); |
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.
what is reason of these condition changing.
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.
For append blobs data is available to read as soon as it is appended. So in case when data is appended and not yet flushed, it can still be read in append blobs. This can lead to an additional read call for append blobs.
| } | ||
|
|
||
| protected void assumeValidTestConfigPresent(final Configuration conf, final String key) { | ||
| String configuredValue = conf.get(key); |
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.
it should also check conf.get(key., as done in AbfsConfiguration.accountConf(name). All the configs are checked on both key and key.. Dev can give anything.
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.
Makes sense.
Taken
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.
tip: if you set the default to "" then the line below can just check for the string not being empty
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.
Taken
| testresultsregex="Tests run: [0-9]+, Failures: [0-9]+, Errors: [0-9]+, Skipped: [0-9]+$" | ||
| failedTestRegex1="<<< FAILURE!$" | ||
| failedTestRegex2="<<< ERROR!$" | ||
| removeFormattingRegex="s/\x1b\[[0-9;]*m//g" |
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.
Lets add a comment to explain what regex do.
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.
Sure, Taken
steveloughran
left a comment
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.
minor comments, otherwise all good. I'm going to download and test on my now-IOP limited account which does seem to fail in interesting ways
|
|
||
| * [ABFS](./abfs.html) | ||
| * [Testing](./testing_azure.html) | ||
| * [ABFS](./abfs.md) |
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.
-1. when site docs are generated *.md is mapped to *.html.
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.
Reverting this change.
But I observed these links are not working on github.
https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-azure/src/site/markdown/index.md
They are giving 404
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.
run mvn site:site and you generate the site locally, which is what goes up on apache.org
| } | ||
|
|
||
| protected void assumeValidTestConfigPresent(final Configuration conf, final String key) { | ||
| String configuredValue = conf.get(key); |
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.
tip: if you set the default to "" then the line below can just check for the string not being empty
| expectedListResultsSize, listMaxResults, fileCount) | ||
| .hasSize(expectedListResultsSize); | ||
| } else { | ||
| // Listing is incomplete and number of objects can be lesser than expected |
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.
nit: "less"
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.
Fixed
| // Listing is incomplete and number of objects can be lesser than expected | ||
| Assertions.assertThat(list) | ||
| .describedAs("AbfsClient.listPath() should return %d items" | ||
| + " or lesser when listMaxResults is %d, directory contains" |
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.
nit: "less"
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.
Fixed
| New files created in folder accountSettings is listed in .gitignore to | ||
| prevent accidental cred leaks. | ||
| You are all set to run the test srcipt. |
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.
typo
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.
Fixed
|
🎊 +1 overall
This message was automatically generated. |
steveloughran
left a comment
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.
LGTM
+1
|
@anujmodi2021 can you do a PR for this for branch-3.4? |
Contributed by Anuj Modi
Contributed by Anuj Modi
Description of PR
Test Script used by ABFS to validate changes has following two issues:
Some tests were reported to be failing on OSS trunk including those reported via following Jira:
https://issues.apache.org/jira/browse/HADOOP-19110
https://issues.apache.org/jira/browse/HADOOP-19106
For details of the failing tests and their fixes please refer to the Jira Description:
https://issues.apache.org/jira/browse/HADOOP-19129
How was this patch tested?
Test Suite was run involving different combinations of Auth type and Account type.
For code changes:
LICENSE,LICENSE-binary,NOTICE-binaryfiles?