omero.gateway.BlitzGateway.__del__ hangs server #5637
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem: having any blocking actions in a del method
can lead to hung gunicorn processes in OMERO.web. The addition
of the method was intended to detect dangling services, but
each call left further resources, detectable with
lsof
.Short-term fix: By removing the method, OMERO.web should
no longer need to be periodically restarted.
Long-term fix: as a next step, the
_assert_unregistered
method will need to again be invoked, perhaps by integration
tests, to detect the resources that were being left open.
Eventually, a rewrite of the
login_requred
decorator aswell as the
close
logic of BlitzGateway should be consideredso that resource cleanup can be guaranteed.
Testing this PR
ab -c 5 -n 1000 http://host/webgateway...
)ps auxw -H | grep gunicorn
)lsof -p $PID | grep pipe
)