Skip to content

[NEW] listpack migration - replace all usage of ziplist with listpack #8702

@sundb

Description

@sundb

The problem

When inserting or deleting elements in the middle of ziplist, ziplist may have a cascading effect.
ziplist is already used in streams, t_zset and quicklist should also use listpack instead of ziplist.

Description of the feature

Changes:

  1. quicklist is compatible with the old ziplist storage format.
  2. Use listpack instead of ziplsit in t_zset.c.
  3. Use listpack instead of ziplsit in quicklist.
  4. Use listpack instead of ziplsit in hash.
  5. Personality of rdb format.
    • If deep sanitization is disable, does not convert when reading rdb, because the conversion from ziplist to listpack will cause slows downs rdb loading, We should convert when quicklistNode is being accessed.
    • if deep sanitization is enabled, direct ziplist to listpack conversion.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions