[ 
https://issues.apache.org/jira/browse/HADOOP-18708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17894491#comment-17894491
 ] 

ASF GitHub Bot commented on HADOOP-18708:
-----------------------------------------

shameersss1 commented on code in PR #6884:
URL: https://github.com/apache/hadoop/pull/6884#discussion_r1824079109


##########
hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AClientSideEncryption.java:
##########
@@ -266,6 +272,211 @@ public void testEncryptionEnabledAndDisabledFS() throws 
Exception {
     }
   }
 
+  /**
+   * Test to check if unencrypted objects are read with V1 client 
compatibility.
+   * @throws IOException
+   * @throws Exception
+   */
+  @Test
+  public void testUnencryptedObjectReadWithV1CompatibilityConfig() throws 
Exception {
+    maybeSkipTest();
+    // initialize base s3 client.
+    Configuration conf = new Configuration(getConfiguration());
+    S3AFileSystem nonCseFs = createTestFileSystem(conf);
+    removeBaseAndBucketOverrides(getTestBucketName(conf),
+        conf,
+        S3_ENCRYPTION_ALGORITHM,
+        S3_ENCRYPTION_KEY,
+        SERVER_SIDE_ENCRYPTION_ALGORITHM,
+        SERVER_SIDE_ENCRYPTION_KEY);
+    nonCseFs.initialize(getFileSystem().getUri(), conf);
+
+    Path file = path(getMethodName());
+    // write unencrypted file
+    ContractTestUtils.writeDataset(nonCseFs, file, new byte[SMALL_FILE_SIZE],
+        SMALL_FILE_SIZE, SMALL_FILE_SIZE, true);
+
+    Configuration cseConf = new Configuration(getConfiguration());
+    cseConf.setBoolean(S3_ENCRYPTION_CSE_V1_COMPATIBILITY_ENABLED, true);
+    // create filesystem with cse enabled and v1 compatibility.
+    S3AFileSystem cseFs = createTestFileSystem(cseConf);
+    cseFs.initialize(getFileSystem().getUri(), cseConf);
+
+    // read unencrypted file. It should not throw any exception.
+    try (FSDataInputStream in = cseFs.open(file)) {
+      in.read(new byte[SMALL_FILE_SIZE]);
+    } finally {
+      // close the filesystem
+      nonCseFs.close();
+      cseFs.close();
+    }
+  }
+
+  /**
+   * Test to check if file name with suffix ".instruction" is ignored with V1 
compatibility.
+   * @throws IOException
+   */
+  @Test
+  public void testSkippingCSEInstructionFileWithV1Compatibility() throws 
IOException {
+    maybeSkipTest();
+    // initialize base s3 client.
+    Configuration conf = new Configuration(getConfiguration());
+    S3AFileSystem fs = createTestFileSystem(conf);
+    removeBaseAndBucketOverrides(getTestBucketName(conf),
+        conf,
+        S3_ENCRYPTION_ALGORITHM,
+        S3_ENCRYPTION_KEY,
+        SERVER_SIDE_ENCRYPTION_ALGORITHM,
+        SERVER_SIDE_ENCRYPTION_KEY);
+    fs.initialize(getFileSystem().getUri(), conf);
+
+    // write file with suffix ".instruction"
+    Path filePath = path(getMethodName());
+    Path file = new Path(filePath,
+        "file" + S3_ENCRYPTION_CSE_INSTRUCTION_FILE_SUFFIX);
+    ContractTestUtils.writeDataset(fs, file, new byte[SMALL_FILE_SIZE],
+        SMALL_FILE_SIZE, SMALL_FILE_SIZE, true);
+
+    // create filesystem with cse enabled and v1 compatibility.
+    Configuration cseConf = new Configuration(getConfiguration());
+    cseConf.setBoolean(S3_ENCRYPTION_CSE_V1_COMPATIBILITY_ENABLED, true);
+    S3AFileSystem cseFs = createTestFileSystem(cseConf);
+    cseFs.initialize(getFileSystem().getUri(), cseConf);
+    try {

Review Comment:
   ack





> AWS SDK V2 - Implement CSE
> --------------------------
>
>                 Key: HADOOP-18708
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18708
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 3.4.0
>            Reporter: Ahmar Suhail
>            Assignee: Syed Shameerur Rahman
>            Priority: Major
>              Labels: pull-request-available
>
> S3 Encryption client for SDK V2 is now available, so add client side 
> encryption back in. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to