igniterealtime / openfire-httpFileUpload-plugin

Adds XEP-0363 functionality to Openfire that allows compliant clients to exchange files
Apache License 2.0
9 stars 10 forks source link

What happens when the file storage path becomes unavailable? #45

Open Fishbowler opened 1 year ago

Fishbowler commented 1 year ago

This behaviour in the HTTP File Upload plugin is unknown.

If the path is misconfigured, or is configured to a transient location (e.g. network storage), what does the plugin do when it cannot write the file upon file upload? What should it do?

Fishbowler commented 1 year ago

When the directory is available:

2022.12.18 15:34:04 INFO [pool-60-thread-3]: nl.goodbytes.xmpp.xep0363.Component - Entity 'user1@xmpp.localhost.example/Spark 3.0.0' tries to obtain slot.
2022.12.18 15:34:04 INFO [pool-60-thread-3]: nl.goodbytes.xmpp.xep0363.Component - Entity 'user1@xmpp.localhost.example/Spark 3.0.0' obtained slot for 'My+project-1.png' (1914393 bytes). PUT-URL: https://xmpp1.localhost.example:7443/httpfileupload/bYQ6LOkprTqpDuGaxpIbPesUHvw/My+project-1.png GET-URL: https://xmpp1.localhost.example:7443/httpfileupload/bYQ6LOkprTqpDuGaxpIbPesUHvw/My+project-1.png
2022.12.18 15:34:04 INFO [Jetty-QTP-BOSH-64]: nl.goodbytes.xmpp.xep0363.Servlet - Processing PUT request... (172.60.0.1 submitting to /httpfileupload/bYQ6LOkprTqpDuGaxpIbPesUHvw/My+project-1.png)
2022.12.18 15:34:04 INFO [Jetty-QTP-BOSH-64]: nl.goodbytes.xmpp.xep0363.Servlet - ... responded with CREATED. Stored data from the request body in the repository.

When it becomes unavailable (performed here by moving the directory that is configured in plugin.httpfileupload.fileRepo)

2022.12.18 15:38:52 INFO [pool-60-thread-4]: nl.goodbytes.xmpp.xep0363.Component - Entity 'user1@xmpp.localhost.example/Spark 3.0.0' tries to obtain slot.
2022.12.18 15:38:52 INFO [pool-60-thread-4]: nl.goodbytes.xmpp.xep0363.Component - Entity 'user1@xmpp.localhost.example/Spark 3.0.0' obtained slot for 'My+project-1.png' (1914393 bytes). PUT-URL: https://xmpp1.localhost.example:7443/httpfileupload/WxB6cCH2tDAyZOriXl1T9aReKW4/My+project-1.png GET-URL: https://xmpp1.localhost.example:7443/httpfileupload/WxB6cCH2tDAyZOriXl1T9aReKW4/My+project-1.png
2022.12.18 15:38:52 INFO [Jetty-QTP-BOSH-105]: nl.goodbytes.xmpp.xep0363.Servlet - Processing PUT request... (172.60.0.1 submitting to /httpfileupload/WxB6cCH2tDAyZOriXl1T9aReKW4/My+project-1.png)
2022.12.18 15:38:52 WARN [Jetty-QTP-BOSH-105]: org.eclipse.jetty.server.HttpChannel - handleException /httpfileupload/WxB6cCH2tDAyZOriXl1T9aReKW4/My+project-1.png java.nio.file.NoSuchFileException: /tmp/potato/WxB6cCH2tDAyZOriXl1T9aReKW4

The HTTP File Upload plugin has returned an HTTP 500 to the client. (There's also a Spark bug here, in that no feedback is given to the user)

Fishbowler commented 1 year ago

Notable: