Auto-disable rugged patches in sidekiq?
Related to #2243 (closed) and gitlab!21495 (merged).
To recap, the problem with Rugged is that it does disk IO via libgit2 and it almost never releases the Ruby GVL. To have effective multi threading in Ruby it is essential that any thread that does IO releases the GVL before it does IO (or uses the Ruby stdlib to do IO, in which case the stdlib releases the GVL for you).
Now that we know that Rugged is not GVL-friendly, I wonder if we should tweak the "Rugged can be used" auto-detection in Rails so that it prefers not to use Rugged if the current process is a Sidekiq server.
Edited by 🤖 GitLab Bot 🤖