heesung-sn commented on code in PR #23349:
URL: https://github.com/apache/pulsar/pull/23349#discussion_r1776033567
##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java:
##########
@@ -815,6 +819,15 @@ private void handleOwnEvent(String serviceUnit,
ServiceUnitStateData data) {
private void handleAssignEvent(String serviceUnit, ServiceUnitStateData
data) {
if (isTargetBroker(data.dstBroker())) {
+ if (disablePubOwnedEvent) {
+ log.info("Skip assigning self({}) as the owner after
cleanOwnerships", serviceUnit);
+ final var getOwnerRequest =
getOwnerRequests.remove(serviceUnit);
Review Comment:
This will make other brokers to wait for the Owned event. I think whatever
ongoing state change should follow the protocol without interruption.
I think better place to check this "disablePubOwnedEvent" state in before
publishing the state change command.
- publishAssignEventAsync
- publishOverrideEventAsync
- publishUnloadEventAsync
- publishSplitEventAsync
We already have `validateChannelState` func to check the channel state, and
I think we can additionally consider "disablePubOwnedEvent" state there.
--
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]