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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
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