Skip to content

HDHM should skip writing unchanged buckets to disk #21954

@artemananiev

Description

@artemananiev

When a virtual leaf is updated (not moved), it's added to the list of dirty leaves and eventually flushed to disk. During flush, HalfDiskHashMap iterates over all dirty leaves, loads the corresponding buckets, updates them, and then writes to disk. Bucket contain key to path mappings. If a leaf is not moved, but only changed, the new path value is the same as the old one, and the mapping doesn't need to be updated. Next, if a bucket contains only unchanged mappings, there is no need to write it to disk. With lots of "update" operations, skipping unchanged buckets may result in noticeable flush time reduction.

Metadata

Metadata

Assignees

Type

Projects

Status

👀 In Review

Relationships

None yet

Development

No branches or pull requests

Issue actions