mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-21 00:50:35 +00:00
It was observed that sincefce124bd90('Merge "Introduce flat_mutation_reader_v2" from Tomasz') database_test takes much longer. This is expected since it now runs the upgrade/downgrade reader tests on all existing tests. It was also observed that in a similar time frame database_test sometimes times our on test machines, taking much longer than usual, even with the extra work for testing reader upgrade/downgrade. In an attempt to reproduce, I noticed ti failing on EMFILE (too many open file descriptors). I saw that tests usually use ~100 open file descriptors, while the default limit is 1024. I suspect we have runaway concurrency, but I was not able to pinpoint the cause. It could be compaction lagging behind, or cleanup work for deleting tables (the test test_database_with_data_in_sstables_is_a_mutation_source creates and deletes many tables). As a stopgap solution to unblock the tests, this patch raises the file descriptor limit in the way recommended by [1]. While tests shouldn't use so many descriptors, I ran out of ideas about how to plug the hole. Note that main() does something similar, through more elaborate since it needs to communicate to users. Seeec60f44b64("main: improve process file limit handling"). [1] http://0pointer.net/blog/file-descriptor-limits.html Closes #9121