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

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


The following commit(s) were added to refs/heads/master by this push:
     new 99dd2b330c3 [fix](paimon) Preserve system table validation details 
(#66408)
99dd2b330c3 is described below

commit 99dd2b330c32f903f39e4a9f1bda154544682298
Author: Gabriel <[email protected]>
AuthorDate: Tue Aug 4 15:03:16 2026 +0800

    [fix](paimon) Preserve system table validation details (#66408)
---
 .../java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java | 3 +++
 .../org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java  | 3 ++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java
 
b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java
index 3f6213ec339..8fa8bef67f5 100644
--- 
a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java
+++ 
b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java
@@ -353,6 +353,9 @@ public class PaimonScanPlanProvider implements 
ConnectorScanPlanProvider {
             Table dataTable = 
PaimonTableResolver.resolveSystemSource(catalogOps, handle, context);
             return PaimonReaderOptions.runtimeSafeSystemTable(
                     handle.getSysTableName(), systemTable, dataTable, 
scanOptions);
+        } catch (IllegalArgumentException e) {
+            // Validation details must reach the SQL boundary so users can 
correct unsafe table options.
+            throw new DorisConnectorException(e.getMessage(), e);
         } catch (Exception e) {
             throw new DorisConnectorException("Failed to validate Paimon 
system table source", e);
         }
diff --git 
a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java
 
b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java
index 3a1a6442a0b..64f30862da3 100644
--- 
a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java
+++ 
b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java
@@ -549,9 +549,10 @@ public class PaimonScanPlanProviderTest {
         PaimonScanPlanProvider provider = new 
PaimonScanPlanProvider(Collections.emptyMap(), ops);
 
         // The connector boundary must keep one stable exception type while 
preserving the
-        // validation failure as its cause for diagnostics.
+        // actionable validation detail in the user-facing message and the 
original cause.
         DorisConnectorException e = 
Assertions.assertThrows(DorisConnectorException.class,
                 () -> provider.resolveScanTable(handle));
+        
Assertions.assertTrue(e.getMessage().contains("scan.manifest.parallelism"));
         Assertions.assertInstanceOf(IllegalArgumentException.class, 
e.getCause());
         
Assertions.assertTrue(e.getCause().getMessage().contains("scan.manifest.parallelism"));
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to