From 7ec762a5fd5e319b73224fa1b2a0d353aecd77dd Mon Sep 17 00:00:00 2001 From: Daniel Carl Jones Date: Thu, 6 Oct 2022 12:42:01 +0100 Subject: [PATCH] HADOOP-18465. Fix S3A SSE test skip when encryption is disabled (#4925) Contributed by Daniel Carl Jones --- .../hadoop/fs/s3a/AbstractTestS3AEncryption.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/AbstractTestS3AEncryption.java b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/AbstractTestS3AEncryption.java index 23776f3164..6df4f7593c 100644 --- a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/AbstractTestS3AEncryption.java +++ b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/AbstractTestS3AEncryption.java @@ -78,8 +78,16 @@ protected void patchConfigurationEncryptionSettings( 0, 1, 2, 3, 4, 5, 254, 255, 256, 257, 2 ^ 12 - 1 }; + /** + * Skips the tests if encryption is not enabled in configuration. + * + * @implNote We can use {@link #createConfiguration()} here since + * it does not depend on any per-bucket based configuration. + * Otherwise, we would need to grab the configuration from an + * instance of {@link S3AFileSystem}. + */ protected void requireEncryptedFileSystem() { - skipIfEncryptionTestsDisabled(getFileSystem().getConf()); + skipIfEncryptionTestsDisabled(createConfiguration()); } /** @@ -91,8 +99,8 @@ protected void requireEncryptedFileSystem() { @Override public void setup() throws Exception { try { - super.setup(); requireEncryptedFileSystem(); + super.setup(); } catch (AccessDeniedException e) { skip("Bucket does not allow " + getSSEAlgorithm() + " encryption method"); }