-
Notifications
You must be signed in to change notification settings - Fork 100
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
Fix fdtable allocation on new Debian #230
base: master
Are you sure you want to change the base?
Conversation
If EF_FDTABLE_SIZE is not set, RLIMIT_NOFILE hard limit is used as fdtable size. The value may be too big. For instance, on Debian 13 it is 1073741816=3ffffff8. In such case allocation will fail. Introduce a new environment variable EF_FDS_MAX to limit maximum size of fdtable. By default it is 1048576 (default value of RLIMIT_NOFILE hard limit on Debian/Ubuntu). Signed-off-by: Sergey Nikitin <sergey.nikitin@oktet.tech>
Initialize citp_log_level variable with user value right after reading environment variables. Otherwise we may miss some startup logs, for instance fdtable initialization warnings. Signed-off-by: Sergey Nikitin <sergey.nikitin@oktet.tech>
Thank you for filing a PR. 👍 I cannot schedule it at the moment, but we are keeping it on our radar. Presumably, in the absence of a fix in Debian, a workaround for #229 is passing What obstacles do you anticipate for the dynamic approach, where the FD tables increase in runtime on demand dynamically (say, unless |
Yes, absolutely right.
It'd be a major modification I guess. Maybe @ol-alexandra has some thoughts. |
I agree that it would be a major modification with unpleasent experience for some users. For example some users run a multithreaded application with You can implement "dynamic approach" which does not include New Debian will probably release next summer; you have some months to decide. At the same time, as this change comes from systemd, the same issue may arise with other distros (Fedora and so on). |
Hello! Friendly asking. |
Hi Sergey. We have been thinking about this, but haven't yet come to a conclusion. The problem you point out definitely needs addressing, but I've got a few concerns about this. The main issue is that this will change the rlimit by default, which has the potential to silently break (unusual for onload) applications. The benefit of doing this way is obviously that things Just Work for most applications. The new |
Hi Siân! I got your point. Thanks for detailed answer. |
The first commit fixes #229
The second one fixes initialization of
citp_log_level
.