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

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


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new cb9ec3bab14 branch-3.1: [fix](warmup): fix passive cancellation of 
event-driven jobs #54962 (#55088)
cb9ec3bab14 is described below

commit cb9ec3bab14f0d4f713ab0413c37f779b01e3f60
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Aug 21 16:57:00 2025 +0800

    branch-3.1: [fix](warmup): fix passive cancellation of event-driven jobs 
#54962 (#55088)
    
    Cherry-picked from #54962
    
    Co-authored-by: Kaijie Chen <[email protected]>
---
 .../main/java/org/apache/doris/service/FrontendServiceImpl.java  | 2 +-
 .../cluster/test_warm_up_cluster_event_cancel_passive.groovy     | 9 ++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java 
b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
index 7800cd95c93..8fd3fd9b4ab 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
@@ -2824,7 +2824,7 @@ public class FrontendServiceImpl implements 
FrontendService.Iface {
             CloudWarmUpJob job = ((CloudEnv) Env.getCurrentEnv())
                     .getCacheHotspotMgr()
                     .getCloudWarmUpJob(request.getWarmUpJobId());
-            if (job == null) {
+            if (job == null || job.isDone()) {
                 LOG.info("warmup job {} is not running, notify caller BE {} to 
cancel job",
                         job.getJobId(), clientAddr);
                 // notify client to cancel this job
diff --git 
a/regression-test/suites/cloud_p0/cache/multi_cluster/warm_up/cluster/test_warm_up_cluster_event_cancel_passive.groovy
 
b/regression-test/suites/cloud_p0/cache/multi_cluster/warm_up/cluster/test_warm_up_cluster_event_cancel_passive.groovy
index 5c1cdb8ce05..e4def0b7d30 100644
--- 
a/regression-test/suites/cloud_p0/cache/multi_cluster/warm_up/cluster/test_warm_up_cluster_event_cancel_passive.groovy
+++ 
b/regression-test/suites/cloud_p0/cache/multi_cluster/warm_up/cluster/test_warm_up_cluster_event_cancel_passive.groovy
@@ -18,12 +18,14 @@
 import org.apache.doris.regression.suite.ClusterOptions
 import groovy.json.JsonSlurper
 
-suite('test_warm_up_cluster_event_cancel', 'docker') {
+suite('test_warm_up_cluster_event_cancel_passive', 'docker') {
     def options = new ClusterOptions()
     options.feConfigs += [
+        'enable_debug_points=true',
         'cloud_cluster_check_interval_second=1',
     ]
     options.beConfigs += [
+        'enable_debug_points=true',
         'file_cache_enter_disk_resource_limit_mode_percent=99',
         'enable_evict_file_cache_in_advance=false',
         'file_cache_background_monitor_interval_ms=1000',
@@ -43,9 +45,10 @@ suite('test_warm_up_cluster_event_cancel', 'docker') {
 
         // Read response
         def responseText = conn.inputStream.text
+        logger.info("Response from ${urlStr}: ${responseText}")
         def json = new JsonSlurper().parseText(responseText)
 
-        return json?.msg == "OK" && json?.code == 0
+        return json?.msg == "OK"
     }
 
     def setDebugPointsForCluster = { cluster, debug_point, enable ->
@@ -226,7 +229,7 @@ suite('test_warm_up_cluster_event_cancel', 'docker') {
         }
         sleep(15000)
         def cacheSize1 = getClusterTTLCacheSizeSum(clusterName2);
-        assertTrue(cacheSize1 > cacheSize0, "some more syncs before cache 
expire is expected")
+        assertTrue(cacheSize1 >= cacheSize0, "some more syncs before cache 
expire is expected")
 
         // At this point, cache should be expired, so we expect no more syncs
 


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

Reply via email to