Closed zzacharo closed 3 years ago
Recovering the blogpost mentioned in this issue (https://github.com/inveniosoftware/troubleshooting/issues/51) we can see that we actually went for a single-interpreter. The only downside it has is that, AFAIU, the number of threads is 1 per process, so no multi threading is used. Some benchmarking would be needed, but I would be okay with that.
Sadly the uWSGI docs give 0-to-no information about the flag/feature. Many other places (e.g. bloomberg tech above, newrelic) mention that many C extensions do not work well with multi-threading. Therefore:
single-interpreter=true
)?WDYT? @lnielsen @zzacharo @fenekku (Also @slint @ntarocco cuz it might affect future migrations to RDM)
We had to disable it (use single-interpreter=true
) in our instance: https://github.com/galterlibrary/InvenioRDM-at-NU/blob/master/docker/uwsgi/uwsgi_ui.ini#L17 . So I am in favour of that. I wouldn't worry about not being able to use multi-threading now.
The issue is referring to the
invenio-cli containerize
command. See https://github.com/onelogin/python3-saml/issues/121.Summary: It turned out, we are using uwsgi with threads and each thread is creating its own interpreter. and that causes
lxml
to fail with an error