This is an automated email from the ASF dual-hosted git repository.

htowaileb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git


The following commit(s) were added to refs/heads/master by this push:
     new ab0abc111e [ASTERIXDB-3378][EXT]: Allow user to opt out of validating 
write permission before COPY TO S3
ab0abc111e is described below

commit ab0abc111eaa663f9115756ba4e7cbf1da1c5f3b
Author: Hussain Towaileb <[email protected]>
AuthorDate: Sat Apr 13 06:14:10 2024 +0300

    [ASTERIXDB-3378][EXT]: Allow user to opt out of validating write permission 
before COPY TO S3
    
    Change-Id: Ie099710714e032674727d0cb426cc450d8dda167
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18234
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Hussain Towaileb <[email protected]>
---
 .../apache/asterix/cloud/writer/S3ExternalFileWriterFactory.java   | 7 +++++++
 .../org/apache/asterix/external/util/ExternalDataConstants.java    | 1 +
 2 files changed, 8 insertions(+)

diff --git 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/writer/S3ExternalFileWriterFactory.java
 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/writer/S3ExternalFileWriterFactory.java
index 5faa8e16ee..cdaa6dcf80 100644
--- 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/writer/S3ExternalFileWriterFactory.java
+++ 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/writer/S3ExternalFileWriterFactory.java
@@ -151,6 +151,13 @@ public final class S3ExternalFileWriterFactory implements 
IExternalFileWriterFac
             }
         }
 
+        // do not validate write permissions if specified by the user not to 
do so
+        String validateWritePermissions = configuration
+                
.getOrDefault(ExternalDataConstants.KEY_VALIDATE_WRITE_PERMISSION, 
Boolean.TRUE.toString());
+        if (!Boolean.parseBoolean(validateWritePermissions)) {
+            return;
+        }
+
         Random random = new Random();
         String pathPrefix = "testFile";
         String path = pathPrefix + random.nextInt();
diff --git 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
index fcdddd8394..98ccbce5ec 100644
--- 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
+++ 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
@@ -310,6 +310,7 @@ public class ExternalDataConstants {
      * Writer Constants
      */
     public static final String KEY_WRITER_MAX_RESULT = "max-objects-per-file";
+    public static final String KEY_VALIDATE_WRITE_PERMISSION = 
"validate-write-permission";
     public static final String KEY_WRITER_COMPRESSION = "compression";
     public static final int WRITER_MAX_RESULT_DEFAULT = 10000;
     public static final int WRITER_MAX_RESULT_MINIMUM = 1000;

Reply via email to