multiple subscriber with same subscriberId shares the topic manager

rename topicControl to topicCursor
This commit is contained in:
Chris Lu
2020-05-12 21:26:02 -07:00
parent 2f243f5b0b
commit a7959c1c48
4 changed files with 95 additions and 13 deletions

View File

@@ -48,6 +48,7 @@ func (broker *MessageBroker) Subscribe(stream messaging_pb.SeaweedMessaging_Subs
Partition: in.Init.Partition,
}
lock := broker.topicManager.RequestLock(tp, topicConfig, false)
subscription := lock.subscriptions.AddSubscription(subscriberId)
defer broker.topicManager.ReleaseLock(tp, false)
lastReadTime := time.Now()
@@ -102,9 +103,7 @@ func (broker *MessageBroker) Subscribe(stream messaging_pb.SeaweedMessaging_Subs
}
err = lock.logBuffer.LoopProcessLogData(lastReadTime, func() bool {
lock.Mutex.Lock()
lock.cond.Wait()
lock.Mutex.Unlock()
subscription.Wait()
return true
}, eachLogEntryFn)