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]