-
Notifications
You must be signed in to change notification settings - Fork 9.1k
HADOOP-19189. ITestS3ACommitterFactory failing #6857
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-19189. ITestS3ACommitterFactory failing #6857
Conversation
* parameterize the test run rather than do it from within the test suite. * log what the committer factory is up to (and improve its logging) * close all filesystems, then create the test filesystem with cache enabled. The cache is critical, we want the fs from cache to be used when querying filesystem properties, rather than one created from the committer jobconf, which will have the same options as the task committer, so not actually validate the override logic. The tests were therefore failing correctly, because the test environment wasn't being set up. I have no idea why this worked before. Change-Id: I69e989c8c0a8d9ac3bd2a4a34512cad94b579ba9
🎊 +1 overall
This message was automatically generated. |
Change-Id: I77fddee6289230a0f99eb25b8621d6c1fd390cb5
🎊 +1 overall
This message was automatically generated. |
Seeking feedback from @mukund-thakur @ahmarsuhail @HarshitGupta11 @virajjasani Fixes test failures, nothing else... |
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.
looks good. just one comment
filesystemConfRef.unset(FS_S3A_COMMITTER_NAME); | ||
assertFactoryCreatesExpectedCommitter(FileOutputCommitter.class); | ||
} | ||
private final String fsCommitterName; |
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: some java doc,
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.
done
...tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/commit/ITestS3ACommitterFactory.java
Show resolved
Hide resolved
assertFactoryCreatesExpectedCommitter(FileOutputCommitter.class); | ||
} | ||
private final String fsCommitterName; | ||
private final String pathCommitterName; |
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.
why do we need this? Isn't just first one enough
Change-Id: I5a233329b7bae9da9b894f5226f20437bf7672fc
updated version; tested s3 london |
🎊 +1 overall
This message was automatically generated. |
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.
A few minor comments, looks good overall
LOG.info("Filesystem Committer='{}'; task='{}'", | ||
fsConf.get(FS_S3A_COMMITTER_NAME), | ||
jobConf.get(FS_S3A_COMMITTER_NAME)); |
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.
we can also log description
here for better debugging?
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 is the thread name so log prints it anyway, but I've just checked and as this is a setup operation, it is just "setup", though the next log entry is complete
2024-06-07 14:20:59,136 [setup] INFO commit.ITestS3ACommitterFactory (ITestS3ACommitterFactory.java:setup(199)) - Filesystem Committer='null'; task='null'
2024-06-07 14:20:59,136 [JUnit-testBinding[Default Binding-fs=[]-task=[]-[class org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter]]] INFO s3a.AbstractS3ATestBase (AbstractS3ATestBase.java:describe(227)) -
adding it to this log message
...tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/commit/ITestS3ACommitterFactory.java
Outdated
Show resolved
Hide resolved
Change-Id: Iaf8263813940597b8b7d8da0db991018a2f35ca7
🎊 +1 overall
This message was automatically generated. |
* parameterize the test run rather than do it from within the test suite. * log what the committer factory is up to (and improve its logging) * close all filesystems, then create the test filesystem with cache enabled. The cache is critical, we want the fs from cache to be used when querying filesystem properties, rather than one created from the committer jobconf, which will have the same options as the task committer, so not actually validate the override logic. Contributed by Steve Loughran
* parameterize the test run rather than do it from within the test suite. * log what the committer factory is up to (and improve its logging) * close all filesystems, then create the test filesystem with cache enabled. The cache is critical, we want the fs from cache to be used when querying filesystem properties, rather than one created from the committer jobconf, which will have the same options as the task committer, so not actually validate the override logic. Contributed by Steve Loughran
* parameterize the test run rather than do it from within the test suite. * log what the committer factory is up to (and improve its logging) * close all filesystems, then create the test filesystem with cache enabled. The cache is critical, we want the fs from cache to be used when querying filesystem properties, rather than one created from the committer jobconf, which will have the same options as the task committer, so not actually validate the override logic. Contributed by Steve Loughran
The cache is critical, we want the fs from cache to be used when querying filesystem properties, rather than one created from the committer jobconf, which will have the same options as the task committer, so not actually validate the override logic.
The tests were therefore failing correctly, because the test environment wasn't being set up.
I have no idea why this worked before.
How was this patch tested?
Reworked ITestS3ACommitterFactory tested against s3 london.
rerunning full -Dscale test to make sure that none of the changes i made to the production code have problems
For code changes:
LICENSE
,LICENSE-binary
,NOTICE-binary
files?