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

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


The following commit(s) were added to refs/heads/master by this push:
     new d56e24efaa [core] format table: support init jindo by hadoop conf 
(#6552)
d56e24efaa is described below

commit d56e24efaa35606c9359b32039964071b452b3c9
Author: jerry <[email protected]>
AuthorDate: Tue Nov 11 09:30:37 2025 +0800

    [core] format table: support init jindo by hadoop conf (#6552)
---
 .../java/org/apache/paimon/jindo/JindoFileIO.java  | 25 +++++++++++++++-------
 .../java/org/apache/paimon/jindo/JindoLoader.java  |  6 +-----
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git 
a/paimon-filesystems/paimon-jindo/src/main/java/org/apache/paimon/jindo/JindoFileIO.java
 
b/paimon-filesystems/paimon-jindo/src/main/java/org/apache/paimon/jindo/JindoFileIO.java
index 970cfcc809..0aa0939d50 100644
--- 
a/paimon-filesystems/paimon-jindo/src/main/java/org/apache/paimon/jindo/JindoFileIO.java
+++ 
b/paimon-filesystems/paimon-jindo/src/main/java/org/apache/paimon/jindo/JindoFileIO.java
@@ -93,14 +93,6 @@ public class JindoFileIO extends HadoopCompliantFileIO {
     public void configure(CatalogContext context) {
         allowCache = context.options().get(FILE_IO_ALLOW_CACHE);
         hadoopOptions = new Options();
-        // 
https://github.com/aliyun/alibabacloud-jindodata/blob/master/docs/user/4.x/4.6.x/4.6.1/oss/hadoop/jindosdk_ide_hadoop.md
-        hadoopOptions.set("fs.oss.impl", 
"com.aliyun.jindodata.oss.JindoOssFileSystem");
-        hadoopOptions.set("fs.AbstractFileSystem.oss.impl", 
"com.aliyun.jindodata.oss.OSS");
-
-        // Misalignment can greatly affect performance, so the maximum buffer 
is set here
-        hadoopOptions.set("fs.oss.read.position.buffer.size", "8388608");
-        hadoopOptions.set("fs.oss.credentials.provider", 
SimpleCredentialsProvider.NAME);
-
         // read all configuration with prefix 'CONFIG_PREFIXES'
         for (String key : context.options().keySet()) {
             for (String prefix : CONFIG_PREFIXES) {
@@ -118,6 +110,23 @@ public class JindoFileIO extends HadoopCompliantFileIO {
                 }
             }
         }
+        // as in rest catalog use could define ak for table so we need first 
use ak.
+        if (hadoopOptions.containsKey(OSS_ACCESS_KEY_ID)
+                && hadoopOptions.containsKey(OSS_ACCESS_KEY_SECRET)) {
+            LOG.info("Using Ak init Jindo.");
+            // 
https://github.com/aliyun/alibabacloud-jindodata/blob/master/docs/user/4.x/4.6.x/4.6.1/oss/hadoop/jindosdk_ide_hadoop.md
+            hadoopOptions.set("fs.oss.impl", 
"com.aliyun.jindodata.oss.JindoOssFileSystem");
+            hadoopOptions.set("fs.AbstractFileSystem.oss.impl", 
"com.aliyun.jindodata.oss.OSS");
+
+            // Misalignment can greatly affect performance, so the maximum 
buffer is set here
+            hadoopOptions.set("fs.oss.read.position.buffer.size", "8388608");
+            hadoopOptions.set("fs.oss.credentials.provider", 
SimpleCredentialsProvider.NAME);
+        } else {
+            LOG.info("Using hadoop conf init Jindo.");
+            context.hadoopConf()
+                    .iterator()
+                    .forEachRemaining(entry -> 
hadoopOptions.set(entry.getKey(), entry.getValue()));
+        }
     }
 
     public Options hadoopOptions() {
diff --git 
a/paimon-filesystems/paimon-jindo/src/main/java/org/apache/paimon/jindo/JindoLoader.java
 
b/paimon-filesystems/paimon-jindo/src/main/java/org/apache/paimon/jindo/JindoLoader.java
index 04a5b430f5..f776fc36d8 100644
--- 
a/paimon-filesystems/paimon-jindo/src/main/java/org/apache/paimon/jindo/JindoLoader.java
+++ 
b/paimon-filesystems/paimon-jindo/src/main/java/org/apache/paimon/jindo/JindoLoader.java
@@ -30,11 +30,7 @@ public class JindoLoader implements FileIOLoader {
 
     @Override
     public List<String[]> requiredOptions() {
-        List<String[]> options = new ArrayList<>();
-        options.add(new String[] {"fs.oss.endpoint"});
-        options.add(new String[] {"fs.oss.accessKeyId"});
-        options.add(new String[] {"fs.oss.accessKeySecret"});
-        return options;
+        return new ArrayList<>();
     }
 
     @Override

Reply via email to