aboutsummaryrefslogtreecommitdiff
path: root/weed/mq/topic/local_topic.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/mq/topic/local_topic.go')
-rw-r--r--weed/mq/topic/local_topic.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/weed/mq/topic/local_topic.go b/weed/mq/topic/local_topic.go
index a35bb32b3..5a5086322 100644
--- a/weed/mq/topic/local_topic.go
+++ b/weed/mq/topic/local_topic.go
@@ -1,6 +1,10 @@
package topic
-import "sync"
+import (
+ "sync"
+
+ "github.com/seaweedfs/seaweedfs/weed/glog"
+)
type LocalTopic struct {
Topic
@@ -19,11 +23,15 @@ func (localTopic *LocalTopic) findPartition(partition Partition) *LocalPartition
localTopic.partitionLock.RLock()
defer localTopic.partitionLock.RUnlock()
- for _, localPartition := range localTopic.Partitions {
- if localPartition.Partition.Equals(partition) {
+ glog.V(4).Infof("findPartition searching for %s in %d partitions", partition.String(), len(localTopic.Partitions))
+ for i, localPartition := range localTopic.Partitions {
+ glog.V(4).Infof("Comparing partition[%d]: %s with target %s", i, localPartition.Partition.String(), partition.String())
+ if localPartition.Partition.LogicalEquals(partition) {
+ glog.V(4).Infof("Found matching partition at index %d", i)
return localPartition
}
}
+ glog.V(4).Infof("No matching partition found for %s", partition.String())
return nil
}
func (localTopic *LocalTopic) removePartition(partition Partition) bool {
@@ -32,7 +40,7 @@ func (localTopic *LocalTopic) removePartition(partition Partition) bool {
foundPartitionIndex := -1
for i, localPartition := range localTopic.Partitions {
- if localPartition.Partition.Equals(partition) {
+ if localPartition.Partition.LogicalEquals(partition) {
foundPartitionIndex = i
localPartition.Shutdown()
break
@@ -48,7 +56,7 @@ func (localTopic *LocalTopic) addPartition(localPartition *LocalPartition) {
localTopic.partitionLock.Lock()
defer localTopic.partitionLock.Unlock()
for _, partition := range localTopic.Partitions {
- if localPartition.Partition.Equals(partition.Partition) {
+ if localPartition.Partition.LogicalEquals(partition.Partition) {
return
}
}