aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-10-04 02:30:44 -0700
committerChris Lu <chris.lu@gmail.com>2021-10-04 02:30:44 -0700
commit513fed323a86f30996adc8e66f6cf6641b40e77a (patch)
tree9a6147510bc8b2f0e700731bc8c0372a8b0a7b8c
parent280ab7f95cdbbaf2fee4a49d10d944e2865829fc (diff)
downloadseaweedfs-513fed323a86f30996adc8e66f6cf6641b40e77a.tar.xz
seaweedfs-513fed323a86f30996adc8e66f6cf6641b40e77a.zip
SkipListElementReference can be an empty object
-rw-r--r--weed/util/skiplist/skiplist_serde.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/weed/util/skiplist/skiplist_serde.go b/weed/util/skiplist/skiplist_serde.go
index 5b7089e80..e528b8a3d 100644
--- a/weed/util/skiplist/skiplist_serde.go
+++ b/weed/util/skiplist/skiplist_serde.go
@@ -34,8 +34,18 @@ func (t *SkipList) deleteElement(element *SkipListElement) error {
}
func (t *SkipList) loadElement(ref *SkipListElementReference) (*SkipListElement, error) {
- if ref == nil {
+ if ref.IsNil() {
return nil, nil
}
return t.listStore.LoadElement(ref.ElementPointer)
}
+
+func (ref *SkipListElementReference) IsNil() bool {
+ if ref == nil {
+ return true
+ }
+ if len(ref.Key) == 0 {
+ return true
+ }
+ return false
+} \ No newline at end of file