shutdown follower if no clients, not only publishers

to avoid overhead when a publisher repeatedly send one message and close
This commit is contained in:
chrislu
2024-03-31 17:45:26 -07:00
parent 66a878af39
commit 237e68059d

View File

@@ -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
}