CalvinKirs opened a new pull request, #66694:
URL: https://github.com/apache/doris/pull/66694

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #58968
   
   Problem Summary: In Cloud SaaS mode, a JDBC catalog or Java UDF using a bare 
jar name downloads the file from the instance object store. 
`StorageProperties.createAll()` now prepends a default HDFS entry, while 
`CloudPluginDownloader` selected the first entry and cast it to 
`AbstractS3CompatibleProperties`. The cast therefore failed with 
`ClassCastException` before the download. This change selects the first 
explicitly S3-compatible property by type and fails clearly if none exists. 
Tests cover default-HDFS ordering, all current S3-compatible property 
implementations, and the missing-compatible-storage path.
   
   ### Release note
   
   Fix automatic JDBC driver and Java UDF jar downloads from Cloud SaaS object 
storage when the plugin is referenced by a bare file name.
   
   ### Check List (For Author)
   
   - Test: Unit Test (environment blocked)
       - `MAVEN_OPTS="-Xmx4g -XX:MaxMetaspaceSize=1g" FE_UT_PARALLEL=1 
./run-fe-ut.sh --run org.apache.doris.common.plugin.CloudPluginDownloaderTest` 
completed Checkstyle, FE main compilation, and test compilation. All 9 tests 
were blocked in the existing Mockito setup because Byte Buddy cannot 
self-attach in the execution sandbox; there were no assertion failures.
   - Behavior changed: Yes (Cloud SaaS plugin downloads select S3-compatible 
storage instead of the prepended default HDFS entry)
   - Does this need documentation: No
   


-- 
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]

Reply via email to