diff options
Diffstat (limited to 'weed/mq/topic/local_topic.go')
| -rw-r--r-- | weed/mq/topic/local_topic.go | 18 |
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 } } |
