Repository: hadoop Updated Branches: refs/heads/HADOOP-13345 8f26a30b3 -> 220414fcf
HADOOP-14129. ITestS3ACredentialsInURL sometimes fails. Contributed by Sean Mackrory and Mingliang Liu Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/220414fc Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/220414fc Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/220414fc Branch: refs/heads/HADOOP-13345 Commit: 220414fcf93b71788f25d1183ebfa76b037660b8 Parents: 8f26a30 Author: Mingliang Liu <lium...@apache.org> Authored: Thu Mar 2 14:18:11 2017 -0800 Committer: Mingliang Liu <lium...@apache.org> Committed: Fri Mar 3 15:07:09 2017 -0800 ---------------------------------------------------------------------- .../hadoop/fs/s3a/ITestS3ACredentialsInURL.java | 10 ++++++---- .../org/apache/hadoop/fs/s3a/S3ATestUtils.java | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/220414fc/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3ACredentialsInURL.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3ACredentialsInURL.java b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3ACredentialsInURL.java index 5a4b2fc..be21994 100644 --- a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3ACredentialsInURL.java +++ b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3ACredentialsInURL.java @@ -37,6 +37,7 @@ import java.net.URLEncoder; import java.nio.file.AccessDeniedException; import static org.apache.hadoop.fs.s3a.S3ATestConstants.TEST_FS_S3A_NAME; +import static org.apache.hadoop.fs.s3a.S3ATestUtils.assumeS3GuardNotEnabled; /** * Tests that credentials can go into the URL. This includes a valid @@ -63,6 +64,11 @@ public class ITestS3ACredentialsInURL extends Assert { public void testInstantiateFromURL() throws Throwable { Configuration conf = new Configuration(); + + // Skip in the case of S3Guard with DynamoDB because it cannot get + // credentials for its own use if they're only in S3 URLs + assumeS3GuardNotEnabled(conf); + String accessKey = conf.get(Constants.ACCESS_KEY); String secretKey = conf.get(Constants.SECRET_KEY); String fsname = conf.getTrimmed(TEST_FS_S3A_NAME, ""); @@ -85,10 +91,6 @@ public class ITestS3ACredentialsInURL extends Assert { conf.unset(Constants.SECRET_KEY); fs = S3ATestUtils.createTestFileSystem(conf); - // Skip in the case of S3Guard with DynamoDB because it cannot get - // credentials for its own use if they're only in S3 URLs - Assume.assumeFalse(fs.hasMetadataStore()); - String fsURI = fs.getUri().toString(); assertFalse("FS URI contains a @ symbol", fsURI.contains("@")); assertFalse("FS URI contains a % symbol", fsURI.contains("%")); http://git-wip-us.apache.org/repos/asf/hadoop/blob/220414fc/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/S3ATestUtils.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/S3ATestUtils.java b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/S3ATestUtils.java index ec0952d..e3969c6 100644 --- a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/S3ATestUtils.java +++ b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/S3ATestUtils.java @@ -33,11 +33,13 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.net.URI; +import java.net.URISyntaxException; import java.util.List; import static org.apache.hadoop.fs.contract.ContractTestUtils.skip; import static org.apache.hadoop.fs.s3a.S3ATestConstants.*; import static org.apache.hadoop.fs.s3a.Constants.*; +import static org.apache.hadoop.fs.s3a.S3AUtils.propagateBucketOptions; import static org.junit.Assert.*; /** @@ -323,6 +325,22 @@ public final class S3ATestUtils { } /** + * Assume testing S3Guard is not enabled. + */ + public static void assumeS3GuardNotEnabled(Configuration originalConf) + throws URISyntaxException { + Assume.assumeFalse(getTestPropertyBool(originalConf, TEST_S3GUARD_ENABLED, + originalConf.getBoolean(TEST_S3GUARD_ENABLED, false))); + + final String fsname = originalConf.getTrimmed(TEST_FS_S3A_NAME); + Assume.assumeNotNull(fsname); + final String bucket = new URI(fsname).getHost(); + final Configuration conf = propagateBucketOptions(originalConf, bucket); + Assume.assumeTrue(S3GUARD_METASTORE_NULL.equals( + conf.getTrimmed(S3_METADATA_STORE_IMPL, S3GUARD_METASTORE_NULL))); + } + + /** * Conditionally set the S3Guard options from test properties. * @param conf configuration */ --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org