DICE-UNC/irods-webdav

Add connection per session filter to enforce close

Closed this issue · 1 comments

Add a connection per session filter to enforce close, per

he irods-webdav has a stability issue when using PAM authentication method: the webdav/jargon opens a socket to irods server yet appears not to close it afterwards (so the irods server flags a timeout and closes the socket itself after more than a minute).
The STANDARD authentication method does not exhibit this issue.

The problem can be traced via a linux netstat command to see the number of sockets open in parallel:
netstat -anp | grep :1247 | grep Server | grep ESTA | wc -l

When the irods-webdav/jargon sends multiple requests shortly after one another (e.g. browsing through collections) then after 6 requests the irods server will start to queue these new requests since it refuses to process more than 6 requests in parallel from the same client.
At the client side it looks as if the server hangs.

Hopefully our analysis helps you to find and fix the issue.

also updated jargon version to 4.0.2.3 and updated milton version