aboutsummaryrefslogtreecommitdiff
path: root/weed/mq/topic/local_partition.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2024-03-31 17:45:26 -0700
committerchrislu <chris.lu@gmail.com>2024-03-31 17:45:26 -0700
commit237e68059d836d6abf199097997f3315722e992d (patch)
treeb2ac82870128687534317263329d350abe116271 /weed/mq/topic/local_partition.go
parent66a878af39eb14a5501164143e37bd7c8b8cdc41 (diff)
downloadseaweedfs-237e68059d836d6abf199097997f3315722e992d.tar.xz
seaweedfs-237e68059d836d6abf199097997f3315722e992d.zip
shutdown follower if no clients, not only publishers
to avoid overhead when a publisher repeatedly send one message and close
Diffstat (limited to 'weed/mq/topic/local_partition.go')
-rw-r--r--weed/mq/topic/local_partition.go4
1 files changed, 1 insertions, 3 deletions
diff --git a/weed/mq/topic/local_partition.go b/weed/mq/topic/local_partition.go
index 0873d6bd7..40ab3cee6 100644
--- a/weed/mq/topic/local_partition.go
+++ b/weed/mq/topic/local_partition.go
@@ -190,7 +190,7 @@ func (p *LocalPartition) MaybeConnectToFollowers(initMessage *mq_pb.PublishMessa
func (p *LocalPartition) MaybeShutdownLocalPartition() (hasShutdown bool) {
- if p.Publishers.Size() == 0 {
+ if p.Publishers.Size() == 0 && p.Subscribers.Size() == 0 {
if p.followerStream != nil {
// send close to the follower
if followErr := p.followerStream.Send(&mq_pb.PublishFollowMeRequest{
@@ -205,9 +205,7 @@ func (p *LocalPartition) MaybeShutdownLocalPartition() (hasShutdown bool) {
p.followerStream = nil
p.follower = ""
}
- }
- if p.Publishers.Size() == 0 && p.Subscribers.Size() == 0 {
p.LogBuffer.ShutdownLogBuffer()
hasShutdown = true
}