Replies: 1 comment 4 replies
-
Let's also not forget #7401, which would have been a lot more fun if ZAPs were dynamically shrinking too. :) |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
System information
Describe the problem you're observing
Over time, ZAPs structures (for the uninitiated, these are effectively hashtables as a fundamental ZFS data structures) grow to accommodate the entries added to them, but are never shrunk without being deleted and re-created. Often times this is difficult, impractical or even impossible to do.
I have personally seen a ZAP over 300 megabytes large containing 0 objects. Due to the nature of the hashtable this is a very fragmented data structure and sweeping the ZAP to find all 0 entries takes a long time on rotating media.
The usual advise of defragmenting a pool by send/recv doesn't shrink the ZAP since it is sent in its entirety, but does defragment it.
Other related discussions:
#3814 - Process 'zfs_unlinked_drain' asynchronously on mount
#5916 - Slow mount times due to enormous ZFS delete queue object
#4933 - Directory listing slow after it has contained many entires
Describe how to reproduce the problem
For example:
ls
on the directory. Observe the long time required to show 0 results.Include any warning/errors/backtraces from the system logs
N/A
Beta Was this translation helpful? Give feedback.
All reactions