At minimum the poll-frequency can be set to 1s which adds latency on idle systems. For example if there was an user application walking a directory file-by-file to restore offloaded files (waiting for each to become available), each file needing to be restored would trigger an OPEN_BLOCKED event which could take up to 1s to dispatch (if the meta was otherwise idle) before being picked up and handled by an external HSM.
Probably the best fix involves using a conditional variable (e.g., sync.Cond) instead of polling to signal a wakeup. Alternatively (or in addition to) we could add an aggressive poll option when poll-frequency=0.
At minimum the
poll-frequencycan be set to 1s which adds latency on idle systems. For example if there was an user application walking a directory file-by-file to restore offloaded files (waiting for each to become available), each file needing to be restored would trigger anOPEN_BLOCKEDevent which could take up to 1s to dispatch (if the meta was otherwise idle) before being picked up and handled by an external HSM.Probably the best fix involves using a conditional variable (e.g.,
sync.Cond) instead of polling to signal a wakeup. Alternatively (or in addition to) we could add an aggressive poll option whenpoll-frequency=0.