Notes of the different Rack compatible web servers that exist for JRuby and their issues.
Puma's IO reactor doesn't handle errors very well. It can enter an endless loop where it will write error messages to $stderr
, which is not fun if you redirect that to a log file.
It looked very promising and then development stopped. Has multiple errors in the request body handling, some are fixed but unreleased, some remain.
Abandoned two years ago. Does not handle request bodies over 4KiB.
Can't be run from within a JAR file.
Request bodies are not rewindable. It also mutates the hash of headers you return from your app, which is inconvenient.
Unclear whether or not v3 works since it's not usable as an embeddable web server (nothing wrong with that, it's just not what we're looking for). v4 looks promising.
What is your conclusion on this? We are using Puma, and We keep hitting this endless loops and puma error logs keep filling up the entire disk and that server just dies.