-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
proxy: inotify watch error on Debian stretch #2331
Comments
It looks like this has been observed on stable-2.2 (see #2345) so I'm not convinced it's caused by switching from |
@hawkw You're correct. I just verified that these warnings show up in the linkerd-proxy logs of the control plane components of a stable-2.2.1 deployment with TLS enabled on GKE. Am not seeing the corresponding increase in memory, however, as reported in #2345. And interestingly, I don't see these warnings when deploying demo to the same cluster -- in my case the warnings only show up in the control plane proxies. |
linkerd/linkerd2-proxy#195 fixes this; we'll have to investigate whether or not this resolves the memory leak as well. |
The buffer passed to `read(2)` to read inotify events from the inotify fd must be long enough to fit events with filenames of the maximum allowable length. The `inotify-rs` library previously always constructed such a buffer, but as of 1fe4e38, we are required to provide our own buffer. The buffer we were providing was insufficiently large for some filenames. See also the `man` page for `inotify`: > The behavior when the buffer given to read(2) is too small to return > information about the next event depends on the kernel version: in > kernels before 2.6.21, read(2) returns 0; since kernel 2.6.21, > read(2) fails with the error EINVAL. Specifying a buffer of size > > sizeof(struct inotify_event) + NAME_MAX + 1 > > will be sufficient to read at least one event. (http://man7.org/linux/man-pages/man7/inotify.7.html) This branch updates the `fs-watch` lib to calculate the necessary buffer length correctly, and use a properly-sized buffer. I've also added tests that fail when the buffer is too short. Fixes linkerd/linkerd2#2331 Signed-off-by: Eliza Weisman <eliza@buoyant.io>
#2241 bumps the proxy's base Docker image from
debian:jessie-slim
todebian:stretch-20190204-slim
. When Linkerd is deployed via TLS, we observe repeatedinotify watch error
s:Steps to reproduce
git checkout siggy/bump-all-the-dockers DOCKER_TRACE=1 bin/docker-build bin/linkerd install --tls optional | kubectl apply -f - bin/linkerd logs
First reported at #2241 (comment)
The text was updated successfully, but these errors were encountered: