aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-10-09 04:54:48 -0700
committerChris Lu <chris.lu@gmail.com>2021-10-09 04:54:48 -0700
commit17e08a16f4082fed2364a7cd469376da007f6e6b (patch)
tree23533272d2f6c23a3f8707fed439bc34568fede4
parentce1efeb0eb91b1c2ea87e17eeed230b9b20aeb1f (diff)
downloadseaweedfs-17e08a16f4082fed2364a7cd469376da007f6e6b.tar.xz
seaweedfs-17e08a16f4082fed2364a7cd469376da007f6e6b.zip
fix redis3 deletion
-rw-r--r--weed/filer/redis3/ItemList.go12
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 ""