aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2023-09-24 23:10:33 -0700
committerchrislu <chris.lu@gmail.com>2023-09-24 23:10:33 -0700
commitdff2ce5d2fa96693a0b4d55d314976f155fb902c (patch)
tree77c2f4d57c1c84118a9205b3b660b68fadef0e31
parent1492bf7552e4b8dea59c4ade4b0b467565213e79 (diff)
downloadseaweedfs-dff2ce5d2fa96693a0b4d55d314976f155fb902c.tar.xz
seaweedfs-dff2ce5d2fa96693a0b4d55d314976f155fb902c.zip
read existing broker stats
-rw-r--r--weed/mq/broker/broker_grpc_balancer.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/weed/mq/broker/broker_grpc_balancer.go b/weed/mq/broker/broker_grpc_balancer.go
index 63dda7d69..e602f4bad 100644
--- a/weed/mq/broker/broker_grpc_balancer.go
+++ b/weed/mq/broker/broker_grpc_balancer.go
@@ -20,11 +20,15 @@ func (broker *MessageQueueBroker) ConnectToBalancer(stream mq_pb.SeaweedMessagin
// process init message
initMessage := req.GetInit()
- brokerStats := balancer.NewBrokerStats()
+ var brokerStats *balancer.BrokerStats
if initMessage != nil {
- broker.Balancer.Brokers.Set(initMessage.Broker, brokerStats)
+ var found bool
+ brokerStats, found = broker.Balancer.Brokers.Get(initMessage.Broker)
+ if !found {
+ brokerStats = balancer.NewBrokerStats()
+ broker.Balancer.Brokers.Set(initMessage.Broker, brokerStats)
+ }
} else {
- // TODO fix this
return status.Errorf(codes.InvalidArgument, "balancer init message is empty")
}
defer func() {