aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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