OIiveirra commented on code in PR #69526:
URL: https://github.com/apache/doris/pull/69526#discussion_r4366573005
##########
fe/fe-core/src/main/java/org/apache/doris/tablefunction/LocalTableValuedFunction.java:
##########
@@ -137,6 +140,28 @@ private void getFileListFromBackend() throws
AnalysisException {
}
}
+ /** Apply LOCAL admission to sinks that select the built-in local JNI
writer as well. */
+ public static void checkSinkEnabled(String tvfName, Map<String, String>
properties) {
+ String writerClass = properties.getOrDefault("writer_class", "");
+ // JNI consumes a C string, and ScannerLoader accepts slash-separated
class names.
+ int nul = writerClass.indexOf('\0');
+ if (nul >= 0) {
+ writerClass = writerClass.substring(0, nul);
+ }
+ if ("local".equalsIgnoreCase(tvfName)
+ ||
"org.apache.doris.writer.LocalFileJniWriter".equals(writerClass.replace('/',
'.'))) {
Review Comment:
Fixed in 5e110073d2df4ec0b9ed9b6a8fbb0f067ccc7ef0. The master admission
check now uses the BE-supported `java-writer:local-file` factory identifier. It
follows the actual parsing order: split the complete string at its first colon,
then apply JNI C-string truncation independently to plugin and factory. The
obsolete class-name tests have been replaced with the accepted identifier,
per-component NUL cases, INSERT/EXPLAIN, direct binding with remote properties,
opt-in and the global-LOAD execution entry.
The same supplement also completes native Hadoop local-storage admission
before binding and FE cleanup. All 25 selected FE tests passed with fresh XML
and unchanged sources; Java Checkstyle passed. Only the four related FE files
changed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]