diff options
| author | chenzizhan <[email protected]> | 2024-07-18 17:33:56 +0800 |
|---|---|---|
| committer | chenzizhan <[email protected]> | 2024-07-18 17:33:56 +0800 |
| commit | 5f25467142e9bf1dfae083edcd4dc29195105b1b (patch) | |
| tree | c067d253f71ff0e7986a219dad2b61f79a694bde /src/cells/spread_sketch.c | |
| parent | 36282ca44af142f5f1900342ea5e2d5ac1fc34e2 (diff) | |
fix deserialize
Diffstat (limited to 'src/cells/spread_sketch.c')
| -rw-r--r-- | src/cells/spread_sketch.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/cells/spread_sketch.c b/src/cells/spread_sketch.c index 4746170..1d684cb 100644 --- a/src/cells/spread_sketch.c +++ b/src/cells/spread_sketch.c @@ -12,11 +12,6 @@ #include "hll_common.h" #include "exdata.h" - -// TODO: 适配swarm kv 时的问题: -// 需要返回一个double,正常spread sketch 一定返回值(key 不在也更新hll),所以这里的查询怎么样比较好? - - struct entry { int ref_count; void *exdata; @@ -673,6 +668,9 @@ struct spread_sketch *spread_sketch_deserialize(const char *blob, size_t blob_sz int64_t key_len; memcpy(&key_len, blob, sizeof(int64_t)); blob += sizeof(int64_t); + if (key_len == 0) { + continue; + } const char *key = blob; blob += key_len; |
