powered by Jive Software

Nfs issue http file upload

I have to 2 OF server in a cluster. A reverse proxy (haproxy) balances the C2S connections to these.
User what is connected to a OF instances via 5222 uses the same instance for the file upload.
Http file upload plugin runs on both servers. Each of them has a nfs drive mounted. (pointed to the same directory of the NFS server).
When user A is on Server A and sends a file through the xmpp app the file is being stored on the NFS share. If user A is on Server B the file upload fails.

2022.04.29 21:07:56 INFO  [Jetty-QTP-BOSH-56617]: nl.goodbytes.xmpp.xep0363.Servlet - Processing PUT request... ( submitting to /httpfileupload/Z44Ft95cDdXAcO741VqSYGNW6C4/8675AF3F-2487-4728-9627-1EEEA350B96E.jpg)
2022.04.29 21:07:56 INFO  [Jetty-QTP-BOSH-56617]: nl.goodbytes.xmpp.xep0363.Servlet - ... responded with BAD_REQUEST. The requested slot is not available. Either it does not exist, or has already been used.

Both server have due to the clustering the same configuration.
When I list the the mounted shares on both servers I see the exact same files.
Any clue why it fails.


So I just unmouted the NFS drive on server B and added a local directory what has the same path as the path of the mount target. So no changes on the property plugin.httpfileupload.fileRepo necessary.
Server A is using the NFS share, Server B a local directory. But still the same error as described above.
So it does not seem to be an NFS issue.

Hi! The current implementation of the platform requires that the upload happens at the same server to which the client of the user that is performing the upload is connected. The error that you print happens only when the user is requesting an upload slot on a different cluster node as where the HTTP PUT is being send to.