facebook / facebook/watchman

"Settle" behavior blocks entire file tree during long running zip operation

Open
#1,139 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
13.7k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

The default settle period is 20 ms. This is long enough so that the entire tree below each root is blocked as long as a single zip operation is running inside it – or any other long operation that streams to a file.

Is there a way to circumvent this?

Creating a .watchmanconfig file at the root and setting `settle` to 3 ms fixes the issue. But it makes watchman very "chatty" and the UI client will perform many more updates that could be avoided.

Could the "settle" algorithm improved, e.g., by always "forcing" an update after 200 ms latest?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.