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

yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-4.0 by this push:
     new 570272b29a4 branch-4.0: [regression](case) fix 
test_install_plugin_command.groovy #60107 (#60151)
570272b29a4 is described below

commit 570272b29a4d3e3dc01f69d350ffb79cf7721a24
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Feb 3 10:54:58 2026 +0800

    branch-4.0: [regression](case) fix test_install_plugin_command.groovy 
#60107 (#60151)
    
    Cherry-picked from #60107
    
    Co-authored-by: shuke <[email protected]>
---
 .../nereids_p0/test_install_plugin_command.groovy  | 27 +++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git 
a/regression-test/suites/nereids_p0/test_install_plugin_command.groovy 
b/regression-test/suites/nereids_p0/test_install_plugin_command.groovy
index 407daab01e3..45797ecd24d 100644
--- a/regression-test/suites/nereids_p0/test_install_plugin_command.groovy
+++ b/regression-test/suites/nereids_p0/test_install_plugin_command.groovy
@@ -17,18 +17,39 @@
 
 suite("test_install_plugin_command", "nereids_p0") {
     def pluginFile = new File(context.config.dataPath, 
"plugin_test/auditdemo.zip").getAbsolutePath()
-    def pluginSource = "\"${pluginFile}\""
     def pluginName = "audit_plugin_demo"
     def pluginProperties = "\"md5sum\"=\"f7280e8be71fd565a18c80d02b8c446f\""
 
+    // Get all FE hosts to copy plugin file
+    def feHosts = sql_return_maparray("show frontends").collect { it.Host }
+    def randomSuffix = UUID.randomUUID().toString().replaceAll("-", "")
+    def remoteTmpPath = "/tmp/auditdemo_${randomSuffix}.zip"
+
     try {
-        // Install the plugin
+        // Copy plugin file to all FE machines when regression-test and FE are 
on different machines
+        feHosts.each { feHost ->
+            scpFiles("root", feHost, pluginFile, remoteTmpPath, false)
+        }
+
+        // Install the plugin using remote path
         checkNereidsExecute """
-            INSTALL PLUGIN FROM ${pluginSource} 
+            INSTALL PLUGIN FROM "${remoteTmpPath}"
             PROPERTIES (${pluginProperties})
         """
 
     } finally {
+        // Clean up temporary plugin files on all FE machines
+        feHosts.each { feHost ->
+            try {
+                def rmCmd = "rm -f ${remoteTmpPath}"
+                def process = ["ssh", "-o", "StrictHostKeyChecking=no", 
"root@${feHost}", rmCmd].execute()
+                process.waitForOrKill(5000) // Wait max 5 seconds
+                logger.info("Cleaned up temporary file ${remoteTmpPath} on 
${feHost}")
+            } catch (Exception e) {
+                logger.warn("Failed to clean up temporary file on ${feHost}: 
${e.message}")
+            }
+        }
+
         checkNereidsExecute """
             UNINSTALL PLUGIN ${pluginName}
         """


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

Reply via email to