New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ignored pywatchman.SocketTimeout in Watchman autoreloader. #11303
Conversation
@orf Can you take a look? |
I’m confused @blueyed, can you elaborate some more on why this is needed? I’m really not sure about skipping socket timeouts here, surely they are indicative of an issue? |
It is not needed (i.e. does not fix a bug), but just avoids the version request every 5 seconds. For reference: https://github.com/facebook/watchman/blob/0513bb4dc6719b49d1ee6455ac538457bc64491c/python/pywatchman/__init__.py#L271-L278 I'd even argue that we should not have a timeout here in the first place, i.e. just let it block there until there is either a response or the socket gets closed (e.g. when |
With this it is also (easier) possible to add debug logging here for unexpected things: #11305. |
It requires pywatchman v3.8.0 (facebook/watchman@1e9d5cb), 4 years old. |
Looks good to me, thanks for the explanation 👍 |
I checked and |
Bumped minimum supported pywatchman version to 1.2.0. These exceptions don't require checking a server status.
I rebased from master and added a note about bumping supported |
Thanks, what about #11305 then? |
These are expected with the non-blocking loop.
Only with other errors, e.g.
WatchmanError('empty watchman response')
after killing
watchman
need to check the server status.