diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-10-09 04:54:48 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-10-09 04:54:48 -0700 |
| commit | 17e08a16f4082fed2364a7cd469376da007f6e6b (patch) | |
| tree | 23533272d2f6c23a3f8707fed439bc34568fede4 | |
| parent | ce1efeb0eb91b1c2ea87e17eeed230b9b20aeb1f (diff) | |
| download | seaweedfs-17e08a16f4082fed2364a7cd469376da007f6e6b.tar.xz seaweedfs-17e08a16f4082fed2364a7cd469376da007f6e6b.zip | |
fix redis3 deletion
| -rw-r--r-- | weed/filer/redis3/ItemList.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/weed/filer/redis3/ItemList.go b/weed/filer/redis3/ItemList.go index 9f84d57f6..af3b8ae5a 100644 --- a/weed/filer/redis3/ItemList.go +++ b/weed/filer/redis3/ItemList.go @@ -381,6 +381,9 @@ func (nl *ItemList) NodeContainsItem(node *skiplist.SkipListElementReference, it } func (nl *ItemList) NodeSize(node *skiplist.SkipListElementReference) int { + if node == nil { + return 0 + } key := fmt.Sprintf("%s%dm", nl.prefix, node.ElementPointer) return int(nl.client.ZLexCount(context.Background(), key, "-", "+").Val()) } @@ -413,9 +416,14 @@ func (nl *ItemList) NodeInnerPosition(node *skiplist.SkipListElementReference, n func (nl *ItemList) NodeMin(node *skiplist.SkipListElementReference) string { key := fmt.Sprintf("%s%dm", nl.prefix, node.ElementPointer) - slice := nl.client.ZPopMin(context.Background(), key).Val() + slice := nl.client.ZRangeByLex(context.Background(), key, &redis.ZRangeBy{ + Min: "-", + Max: "+", + Offset: 0, + Count: 1, + }).Val() if len(slice) > 0 { - s := slice[0].Member.(string) + s := slice[0] return s } return "" |
