-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Uploading of the session record failed at the end of a long session using teleport-node. #10660
Comments
zmb3
added a commit
that referenced
this issue
Mar 3, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 3, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 3, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 3, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 3, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 3, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 4, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 4, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 4, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 4, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 4, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 8, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
zmb3
added a commit
that referenced
this issue
Mar 8, 2022
When completing a file-based upload, open the parts files one at a time and write them to the upload, closing each file before opening the next one. This is preferrable to opening them all at once and closing all files at the end, because it consumes less file descriptors. Updates #10660
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
What happened:
Uploading of the session record failed at the end of a long session using teleport-node.
The problem seems to be caused by the number of temporarily stored *.part files exceeding the value of
RLIMIT_NOFILE
(Value that can be confirmed withulimit -n
).In our environment,
RLIMIT_NOFILE
was set to the default value of 1024. Also, more than 1000 *.part files were created.What you expected to happen:
We worked around this by setting a large enough
RLIMIT_NOFILE
setting,but we expect that no matter how long the session is,
it should be able to upload successfully without relying on the
RLIMIT_NOFILE
setting to some extent.Reproduction Steps
As minimally and precisely as possible, describe step-by-step how to reproduce the problem.
RLIMIT_NOFILE
setting of teleport-node small so that it is easy to verify. (e.g.ulimit -n 256 && teleport start ${SOME_OPTIONS}
)cat
etc.*.part
files under the/var/lib/teleport/log/upload/streaming/default/multi/*/{SESSION_ID}
directory than the value of theRLIMIT_NOFILE
setting./var/lib/teleport/log/records/multi
#9646. We couldn't reproduce it well, but when the upload was retried, an infinite number of empty directories were created and the volume inode used for teleport-auth was exhausted. )*.part
files infunc (h *Handler) CompleteUpload
.teleport/lib/events/filesessions/filestream.go
Lines 141 to 149 in 807c6d6
Server Details
teleport version
): Teleport v8.0.6 git: go1.17./etc/os-release
): Ubuntu 20.04.3 LTSDebug Logs
Please include or attach debug logs, when appropriate. Obfuscate sensitive information!
teleport --debug
)tsh --debug
)gz#4249
The text was updated successfully, but these errors were encountered: