Skip to content
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

HADOOP-16380 S3Guard to determine empty directory status for all non-root directories #1123

Conversation

steveloughran
Copy link
Contributor

@steveloughran steveloughran commented Jul 18, 2019

Gabor's PR #1106 merged with the test of mine in #1079 with that test modified to show that yes, the tombstone problem goes all the way down

Fix: pass down the needEmptyDirectory flag all the way down from S3AFileSystem to metastore.get

Gabor Bota and others added 4 commits July 18, 2019 17:44
Document that object stores will return false on deletion of root
This merges gabor's PR about the root dir with my test case, reworking the test case to work with subdirectories.

Where, sadly, it shows the problem exists.

If you have a file under a tombstone and that tombstone is the first item in a directory listing, then the directory will be mistaken for being empty.

Change-Id: Id02e821539f319491bd859fe0596913ce5d38287
@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
0 reexec 82 Docker mode activated.
_ Prechecks _
+1 dupname 1 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 4 new or modified test files.
_ trunk Compile Tests _
0 mvndep 89 Maven dependency ordering for branch
+1 mvninstall 1257 trunk passed
+1 compile 1222 trunk passed
+1 checkstyle 143 trunk passed
+1 mvnsite 127 trunk passed
+1 shadedclient 983 branch has no errors when building and testing our client artifacts.
+1 javadoc 97 trunk passed
0 spotbugs 65 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 185 trunk passed
_ Patch Compile Tests _
0 mvndep 23 Maven dependency ordering for patch
+1 mvninstall 78 the patch passed
+1 compile 1266 the patch passed
+1 javac 1266 the patch passed
+1 checkstyle 140 the patch passed
+1 mvnsite 122 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 717 patch has no errors when building and testing our client artifacts.
+1 javadoc 99 the patch passed
+1 findbugs 199 the patch passed
_ Other Tests _
+1 unit 528 hadoop-common in the patch passed.
+1 unit 289 hadoop-aws in the patch passed.
+1 asflicense 47 The patch does not generate ASF License warnings.
7684
Subsystem Report/Notes
Docker Client=18.09.8 Server=18.09.8 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/1/artifact/out/Dockerfile
GITHUB PR #1123
Optional Tests dupname asflicense mvnsite compile javac javadoc mvninstall unit shadedclient findbugs checkstyle
uname Linux 6b218744fdc8 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 9838a47
Default Java 1.8.0_212
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/1/testReport/
Max. process+thread count 1387 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/1/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
0 reexec 92 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 4 new or modified test files.
_ trunk Compile Tests _
0 mvndep 51 Maven dependency ordering for branch
+1 mvninstall 1228 trunk passed
+1 compile 1122 trunk passed
+1 checkstyle 161 trunk passed
+1 mvnsite 131 trunk passed
+1 shadedclient 1092 branch has no errors when building and testing our client artifacts.
+1 javadoc 119 trunk passed
0 spotbugs 87 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 246 trunk passed
_ Patch Compile Tests _
0 mvndep 31 Maven dependency ordering for patch
+1 mvninstall 109 the patch passed
+1 compile 1345 the patch passed
+1 javac 1345 the patch passed
+1 checkstyle 195 the patch passed
+1 mvnsite 171 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 890 patch has no errors when building and testing our client artifacts.
+1 javadoc 107 the patch passed
+1 findbugs 262 the patch passed
_ Other Tests _
+1 unit 655 hadoop-common in the patch passed.
+1 unit 300 hadoop-aws in the patch passed.
+1 asflicense 64 The patch does not generate ASF License warnings.
8391
Subsystem Report/Notes
Docker Client=18.09.7 Server=18.09.7 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/2/artifact/out/Dockerfile
GITHUB PR #1123
Optional Tests dupname asflicense mvnsite compile javac javadoc mvninstall unit shadedclient findbugs checkstyle
uname Linux 33e15d90e29a 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 4e66cb9
Default Java 1.8.0_212
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/2/testReport/
Max. process+thread count 1737 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/2/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

This fixes the problem by having S3Guard.getWithTtl accept and then pass down the empty directory flag; mock tests updated to be in sync

Change-Id: Ib5b545e3c0741d6fb3a84015d8335ba9e0914ab7
@steveloughran
Copy link
Contributor Author

Updated patch fixes the invocation chain so needEmptyDirectoryFlag gets passed through. New test now works happily.

Tested: s3 ireland with s3guard and dynamo. I've not done the -scale option; kicking it off now

@steveloughran steveloughran changed the title HADOOP-16380 tombstones HADOOP-16380 S3Guard to determine empty directory status for all non-root directories Jul 19, 2019
@steveloughran
Copy link
Contributor Author

Patch tested at scale, S3 ireland -Ds3guard -Ddynamo -Dscale; no failures.

Latest patch

  • wires up the needEmptyDirectoryFlag again
  • fixed up the mocking tests to handle the relevant changes
  • added a special para about object store root directory deletion in filesystem.md

uses MetricDiffs to verify that the getFileStatus call doesn't issue a GET or LIST to S3.

This ensures that the test success isn't due to some change in how tombstones and s3 entries are resolved -it is because, when DDB is used, there are no queries to the filesystem at this point. This is a better probe as it verifies the desired behaviour rather than just the outcome

Change-Id: I6ee719ebfc95698e867972685cfad478d7f27ec2
@steveloughran
Copy link
Contributor Author

Latest patch: full test run @ scale with Ireland + S3Guard + DDB; ran the empty dirs test with local: -Dit.test=ITestS3GuardEmptyDirs -Ds3guard -Dlocal to be sure the metrics checks are skipped when the store != DDB

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
0 reexec 35 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 5 new or modified test files.
_ trunk Compile Tests _
0 mvndep 24 Maven dependency ordering for branch
+1 mvninstall 1061 trunk passed
+1 compile 1075 trunk passed
+1 checkstyle 135 trunk passed
+1 mvnsite 118 trunk passed
+1 shadedclient 935 branch has no errors when building and testing our client artifacts.
+1 javadoc 87 trunk passed
0 spotbugs 66 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 180 trunk passed
_ Patch Compile Tests _
0 mvndep 22 Maven dependency ordering for patch
+1 mvninstall 78 the patch passed
+1 compile 1022 the patch passed
+1 javac 1022 the patch passed
+1 checkstyle 132 the patch passed
+1 mvnsite 114 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 648 patch has no errors when building and testing our client artifacts.
+1 javadoc 86 the patch passed
+1 findbugs 198 the patch passed
_ Other Tests _
+1 unit 525 hadoop-common in the patch passed.
+1 unit 275 hadoop-aws in the patch passed.
+1 asflicense 40 The patch does not generate ASF License warnings.
6802
Subsystem Report/Notes
Docker Client=18.09.8 Server=18.09.8 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/3/artifact/out/Dockerfile
GITHUB PR #1123
Optional Tests dupname asflicense mvnsite compile javac javadoc mvninstall unit shadedclient findbugs checkstyle
uname Linux 28a7262667ce 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 7f1b76c
Default Java 1.8.0_212
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/3/testReport/
Max. process+thread count 1380 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/3/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
0 reexec 38 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 5 new or modified test files.
_ trunk Compile Tests _
0 mvndep 24 Maven dependency ordering for branch
+1 mvninstall 1078 trunk passed
+1 compile 1094 trunk passed
+1 checkstyle 148 trunk passed
+1 mvnsite 123 trunk passed
+1 shadedclient 961 branch has no errors when building and testing our client artifacts.
+1 javadoc 87 trunk passed
0 spotbugs 63 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 181 trunk passed
_ Patch Compile Tests _
0 mvndep 23 Maven dependency ordering for patch
+1 mvninstall 79 the patch passed
+1 compile 1002 the patch passed
+1 javac 1002 the patch passed
+1 checkstyle 133 the patch passed
+1 mvnsite 117 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 687 patch has no errors when building and testing our client artifacts.
+1 javadoc 89 the patch passed
+1 findbugs 187 the patch passed
_ Other Tests _
+1 unit 518 hadoop-common in the patch passed.
+1 unit 292 hadoop-aws in the patch passed.
+1 asflicense 37 The patch does not generate ASF License warnings.
6900
Subsystem Report/Notes
Docker Client=18.09.8 Server=18.09.8 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/4/artifact/out/Dockerfile
GITHUB PR #1123
Optional Tests dupname asflicense mvnsite compile javac javadoc mvninstall unit shadedclient findbugs checkstyle
uname Linux 9da2a211580f 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 7f1b76c
Default Java 1.8.0_212
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/4/testReport/
Max. process+thread count 1497 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/4/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
0 reexec 42 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 5 new or modified test files.
_ trunk Compile Tests _
0 mvndep 26 Maven dependency ordering for branch
+1 mvninstall 1095 trunk passed
+1 compile 1054 trunk passed
+1 checkstyle 137 trunk passed
+1 mvnsite 121 trunk passed
+1 shadedclient 947 branch has no errors when building and testing our client artifacts.
+1 javadoc 89 trunk passed
0 spotbugs 64 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 175 trunk passed
_ Patch Compile Tests _
0 mvndep 24 Maven dependency ordering for patch
+1 mvninstall 77 the patch passed
+1 compile 991 the patch passed
+1 javac 991 the patch passed
+1 checkstyle 135 the patch passed
+1 mvnsite 124 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 664 patch has no errors when building and testing our client artifacts.
+1 javadoc 91 the patch passed
+1 findbugs 193 the patch passed
_ Other Tests _
+1 unit 513 hadoop-common in the patch passed.
+1 unit 285 hadoop-aws in the patch passed.
+1 asflicense 42 The patch does not generate ASF License warnings.
6835
Subsystem Report/Notes
Docker Client=18.09.8 Server=18.09.8 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/5/artifact/out/Dockerfile
GITHUB PR #1123
Optional Tests dupname asflicense mvnsite compile javac javadoc mvninstall unit shadedclient findbugs checkstyle
uname Linux e4084db3a57c 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 7f1b76c
Default Java 1.8.0_212
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/5/testReport/
Max. process+thread count 1380 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/5/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

Copy link

@bgaborg bgaborg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1; Change is OK, @mackrorysd could review for a second option though

@@ -2623,7 +2609,8 @@ S3AFileStatus innerGetFileStatus(final Path f,
// Check MetadataStore, if any.
PathMetadata pm = null;
if (hasMetadataStore()) {
pm = S3Guard.getWithTtl(metadataStore, path, ttlTimeProvider);
pm = S3Guard.getWithTtl(metadataStore, path, ttlTimeProvider,
needEmptyDirectoryFlag);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good that you found this and before shipping it to a customer.

@bgaborg
Copy link

bgaborg commented Jul 22, 2019

tested against ireland with dynamo: known testMRJob failures
scale tests are running with dynamo
will run localms tests as well and report back with the results.

@steveloughran
Copy link
Contributor Author

thanks. PR #1115 is working on the testMRJob failures; the initial patch will let us collect failures in the local FS; the test reports will also collect and print the result from the AM. and by working in the parallel phase again (yet still executing each MR job in an isolated sequence), we get a speedup of a minute or two.

@steveloughran
Copy link
Contributor Author

@bgaborg , did that "1 approval" mean a +1? If so, can you add it explicitly for the record. Thanks

@steveloughran steveloughran added fs/s3 changes related to hadoop-aws; submitter must declare test endpoint bug and removed fs/s3 changes related to hadoop-aws; submitter must declare test endpoint labels Jul 22, 2019
@bgaborg
Copy link

bgaborg commented Jul 22, 2019

-Dscale against ireland with dynamo: some test failed, so after the rerun:

[INFO] Running org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir
[ERROR] Tests run: 9, Failures: 1, Errors: 2, Skipped: 0, Time elapsed: 224.725 s <<< FAILURE! - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir
[ERROR] testRecursiveRootListing(org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir)  Time elapsed: 180.018 s  <<< ERROR!
org.junit.runners.model.TestTimedOutException: test timed out after 180000 milliseconds

[ERROR] testRmEmptyRootDirNonRecursive(org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir)  Time elapsed: 31.867 s  <<< FAILURE!
java.lang.AssertionError:
After 12 attempts: listing after rm /* not empty
final [00] S3AFileStatus{path=s3a://gabota-versioned-bucket-ireland/tests3ascale; isDirectory=true; modification_time=0; access_time=0; owner=gaborbota; group=gaborbota; permission=rwxrwxrwx; isSymlink=false; hasAcl=false; isEncrypted=true; isErasureCoded=false} isEmptyDirectory=UNKNOWN eTag=null versionId=null

deleted [00] S3AFileStatus{path=s3a://gabota-versioned-bucket-ireland/tests3ascale; isDirectory=true; modification_time=0; access_time=0; owner=gaborbota; group=gaborbota; permission=rwxrwxrwx; isSymlink=false; hasAcl=false; isEncrypted=true; isErasureCoded=false} isEmptyDirectory=UNKNOWN eTag=null versionId=null

original [00] S3AFileStatus{path=s3a://gabota-versioned-bucket-ireland/test; isDirectory=true; modification_time=0; access_time=0; owner=gaborbota; group=gaborbota; permission=rwxrwxrwx; isSymlink=false; hasAcl=false; isEncrypted=true; isErasureCoded=false} isEmptyDirectory=FALSE eTag=null versionId=null
[01] S3AFileStatus{path=s3a://gabota-versioned-bucket-ireland/tests3ascale; isDirectory=true; modification_time=0; access_time=0; owner=gaborbota; group=gaborbota; permission=rwxrwxrwx; isSymlink=false; hasAcl=false; isEncrypted=true; isErasureCoded=false} isEmptyDirectory=UNKNOWN eTag=null versionId=null


[ERROR] testListEmptyRootDirectory(org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir)  Time elapsed: 2.905 s  <<< ERROR!
java.io.FileNotFoundException: about to be deleted file: not found s3a://gabota-versioned-bucket-ireland/tests3ascale in s3a://gabota-versioned-bucket-ireland/
	at org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir.testListEmptyRootDirectory(ITestS3AContractRootDir.java:85)
Caused by: java.io.FileNotFoundException: No such file or directory: s3a://gabota-versioned-bucket-ireland/tests3ascale
	at org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir.testListEmptyRootDirectory(ITestS3AContractRootDir.java:85)

[INFO] Running org.apache.hadoop.fs.s3a.commit.terasort.ITestTerasortMagicCommitter
[ERROR] Tests run: 7, Failures: 1, Errors: 2, Skipped: 0, Time elapsed: 67.798 s <<< FAILURE! - in org.apache.hadoop.fs.s3a.commit.terasort.ITestTerasortMagicCommitter
[ERROR] test_110_teragen(org.apache.hadoop.fs.s3a.commit.terasort.ITestTerasortMagicCommitter)  Time elapsed: 16.361 s  <<< FAILURE!
java.lang.AssertionError: Teragen(1000, s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter/sortin) failed expected:<0> but was:<1>

[ERROR] test_120_terasort(org.apache.hadoop.fs.s3a.commit.terasort.ITestTerasortMagicCommitter)  Time elapsed: 2.044 s  <<< ERROR!
java.io.FileNotFoundException: Output directory s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter/sortin from previous teragen stage not found: Job may not have executed: not found s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter/sortin in s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter
Caused by: java.io.FileNotFoundException: No such file or directory: s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter/sortin

[ERROR] test_130_teravalidate(org.apache.hadoop.fs.s3a.commit.terasort.ITestTerasortMagicCommitter)  Time elapsed: 2.033 s  <<< ERROR!
java.io.FileNotFoundException: Output directory s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter/sortout from previous terasort stage not found: Job may not have executed: not found s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter/sortout in s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter
Caused by: java.io.FileNotFoundException: No such file or directory: s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter/sortout

[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   ITestS3AContractRootDir>AbstractContractRootDirectoryTest.testRmEmptyRootDirNonRecursive:97->Assert.fail:88 After 12 attempts: listing after rm /* not empty
final [00] S3AFileStatus{path=s3a://gabota-versioned-bucket-ireland/tests3ascale; isDirectory=true; modification_time=0; access_time=0; owner=gaborbota; group=gaborbota; permission=rwxrwxrwx; isSymlink=false; hasAcl=false; isEncrypted=true; isErasureCoded=false} isEmptyDirectory=UNKNOWN eTag=null versionId=null

deleted [00] S3AFileStatus{path=s3a://gabota-versioned-bucket-ireland/tests3ascale; isDirectory=true; modification_time=0; access_time=0; owner=gaborbota; group=gaborbota; permission=rwxrwxrwx; isSymlink=false; hasAcl=false; isEncrypted=true; isErasureCoded=false} isEmptyDirectory=UNKNOWN eTag=null versionId=null

original [00] S3AFileStatus{path=s3a://gabota-versioned-bucket-ireland/test; isDirectory=true; modification_time=0; access_time=0; owner=gaborbota; group=gaborbota; permission=rwxrwxrwx; isSymlink=false; hasAcl=false; isEncrypted=true; isErasureCoded=false} isEmptyDirectory=FALSE eTag=null versionId=null
[01] S3AFileStatus{path=s3a://gabota-versioned-bucket-ireland/tests3ascale; isDirectory=true; modification_time=0; access_time=0; owner=gaborbota; group=gaborbota; permission=rwxrwxrwx; isSymlink=false; hasAcl=false; isEncrypted=true; isErasureCoded=false} isEmptyDirectory=UNKNOWN eTag=null versionId=null

[ERROR]   ITestTerasortMagicCommitter>AbstractCommitTerasortIT.test_110_teragen:173->AbstractCommitTerasortIT.executeStage:148->Assert.assertEquals:645->Assert.failNotEquals:834->Assert.fail:88 Teragen(1000, s3a://gabota-versioned-bucket-ireland/terasort-ITestTerasortMagicCommitter/sortin) failed expected:<0> but was:<1>
[ERROR] Errors:
[ERROR]   ITestS3AContractRootDir.testListEmptyRootDirectory:85->AbstractContractRootDirectoryTest.testListEmptyRootDirectory:192 ? FileNotFound
[ERROR]   ITestS3AContractRootDir>AbstractContractRootDirectoryTest.testRecursiveRootListing:254 ? TestTimedOut
[ERROR]   ITestTerasortMagicCommitter>AbstractCommitTerasortIT.test_120_terasort:185->AbstractCommitITest.loadSuccessFile:473 ? FileNotFound
[ERROR]   ITestTerasortMagicCommitter>AbstractCommitTerasortIT.test_130_teravalidate:201->AbstractCommitITest.loadSuccessFile:473 ? FileNotFound
[INFO]
[ERROR] Tests run: 16, Failures: 2, Errors: 4, Skipped: 0

Ireland -Dlocal:
no unknown test failures other than testInitNegativeRead and testMRJob

Summary: +1 pending on fixing org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir#testRmEmptyRootDirNonRecursive, testListEmptyRootDirectory failures
I don't think that org.apache.hadoop.fs.s3a.commit.terasort.ITestTerasortMagicCommitter#test_110_teragen,test_120_terasort,test_130_teravalidate would be related to this change.

@steveloughran
Copy link
Contributor Author

I'm going to say the terasort failures are unrelated: somehow teragen failed and the successors refuse to work at that point.

Regarding the other failure, it looks potentially like a bug in the initial delete code which tried to delete a file which was already missing when it looked; that's the one rethrown as we only throw the first failure on the loop. not the final one. I'll deal with those for some better checks and reporting

… in the listing isn't there on the deletion; and to keep retrying even when the metastore is enabled

If things fail now, I'm curious about what is happening

Change-Id: I00eb7bbb66773a5661616b8130435d598b2cebc7
@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
0 reexec 92 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 7 new or modified test files.
_ trunk Compile Tests _
0 mvndep 70 Maven dependency ordering for branch
+1 mvninstall 1213 trunk passed
+1 compile 1007 trunk passed
+1 checkstyle 147 trunk passed
+1 mvnsite 126 trunk passed
+1 shadedclient 1042 branch has no errors when building and testing our client artifacts.
+1 javadoc 110 trunk passed
0 spotbugs 71 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 203 trunk passed
_ Patch Compile Tests _
0 mvndep 23 Maven dependency ordering for patch
+1 mvninstall 84 the patch passed
+1 compile 1057 the patch passed
+1 javac 1057 the patch passed
-0 checkstyle 149 root: The patch generated 1 new + 36 unchanged - 0 fixed = 37 total (was 36)
+1 mvnsite 124 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 736 patch has no errors when building and testing our client artifacts.
+1 javadoc 97 the patch passed
+1 findbugs 215 the patch passed
_ Other Tests _
+1 unit 562 hadoop-common in the patch passed.
+1 unit 308 hadoop-aws in the patch passed.
+1 asflicense 57 The patch does not generate ASF License warnings.
7430
Subsystem Report/Notes
Docker Client=19.03.0 Server=19.03.0 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/6/artifact/out/Dockerfile
GITHUB PR #1123
Optional Tests dupname asflicense mvnsite compile javac javadoc mvninstall unit shadedclient findbugs checkstyle
uname Linux 784008921b11 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 340bbaf
Default Java 1.8.0_212
checkstyle https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/6/artifact/out/diff-checkstyle-root.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/6/testReport/
Max. process+thread count 1346 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1123/6/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@bgaborg
Copy link

bgaborg commented Jul 23, 2019

+1 - retested with ireland

@steveloughran
Copy link
Contributor Author

thanks; I'll fix the checkstyle on the commit

./hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/AbstractContractRootDirectoryTest.java:192:      ContractTestUtils.assertDeleted(fs, status.getPath(), false,true, false);:66: ',' is not followed by whitespace. [WhitespaceAfter]

@steveloughran
Copy link
Contributor Author

committed to trunk.

@steveloughran steveloughran deleted the s3/HADOOP-16380-tombstones-empty-dir branch July 30, 2019 15:12
shanthoosh pushed a commit to shanthoosh/hadoop that referenced this pull request Oct 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug fs/s3 changes related to hadoop-aws; submitter must declare test endpoint
Projects
None yet
3 participants