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

heesung pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 73f5f50b4e0 [fix][broker] Fixed ServiceUnitStateChannel monitor to 
tombstone only inactive bundle states (#21721)
73f5f50b4e0 is described below

commit 73f5f50b4e000582e7c2500ab1f12e9533e02bd8
Author: Heesung Sohn <[email protected]>
AuthorDate: Thu Dec 14 11:54:03 2023 +0800

    [fix][broker] Fixed ServiceUnitStateChannel monitor to tombstone only 
inactive bundle states (#21721)
    
    (cherry picked from commit 8d165803e948c770ff87d806fd54b94b7b6c8632)
---
 .../loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java   | 2 +-
 .../loadbalance/extensions/channel/ServiceUnitStateChannelTest.java   | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java
index 68501d201f0..76d1222a88a 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java
@@ -1411,7 +1411,7 @@ public class ServiceUnitStateChannelImpl implements 
ServiceUnitStateChannel {
                 continue;
             }
 
-            if (now - stateData.timestamp() > 
semiTerminalStateWaitingTimeInMillis) {
+            if (!isActiveState(state) && now - stateData.timestamp() > 
semiTerminalStateWaitingTimeInMillis) {
                 log.info("Found semi-terminal states to tombstone"
                         + " serviceUnit:{}, stateData:{}", serviceUnit, 
stateData);
                 tombstoneAsync(serviceUnit).whenComplete((__, e) -> {
diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelTest.java
index e8ccd7b01ca..dc36a2b9237 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelTest.java
@@ -636,7 +636,7 @@ public class ServiceUnitStateChannelTest extends 
MockedPulsarServiceBaseTest {
         var leader = channel1.isChannelOwnerAsync().get() ? channel1 : 
channel2;
         validateMonitorCounters(leader,
                 0,
-                3,
+                1,
                 0,
                 0,
                 0,
@@ -1406,7 +1406,7 @@ public class ServiceUnitStateChannelTest extends 
MockedPulsarServiceBaseTest {
 
         validateMonitorCounters(leader,
                 0,
-                3,
+                1,
                 1,
                 0,
                 0,

Reply via email to