Jrubies can be borrowed for extended periods of time, while the client-side has long since moved past the original request. This can unnecessarily occupy a Jruby for long times and potentially cause conflicts with file-sync locks. It would be nice to have a timeout or maximum borrow time for a Jruby to prevent a situation where this could occur.
A JRuby should timeout after 60 minutes of being borrowed. The timeout should be configurable.
The JRuby is borrowed until the request is fully processed, which can be an indefinite amount of time. I recently saw one consumed for 28 days, which is well beyond the default 60 minute runtimeout of the agent run that made the request.
If it is not possible to set a timeout for an individual request, is it possible to set a time based lifetime for the JRuby similar to max-requests-per-instance?