There are instances wherein users cannot upload binary documents, images, avatars, etc. They may see the following error in the application logs and sometimes in UI as well:
Storage provider returned false on the put operation
In addition to the above-stated error message, the users can also see a message like:
2012-08-19 21:40:33,183 [http-127.0.0.1-9001-9] [:admin] ERROR com.jivesoftware.eos.fs.FileStorageProvider - Error writing data to filesystem. java.io.IOException: No locks available at sun.nio.ch.FileChannelImpl.lock0(Native Method) at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:871) at java.nio.channels.FileChannel.tryLock(FileChannel.java:962) at com.jivesoftware.eos.fs.FileStorageProvider.put(FileStorageProvider.java:261) at com.jivesoftware.eos.spi.storage.CachingStorageProvider.put(CachingStorageProvider.java:103) at com.jivesoftware.community.impl.DbAttachment.insert(DbAttachment.java:477)
This article provides information about the root cause and the process to be followed to resolve the issue.
The most common causes of this error message are:
- The bin store directory is not owned by the Jive user.
- The mount or disk is out of space.
- The problem with the NFS mount could be one of the following:
- No-lock is enabled on the file system (locking should be enabled).
- One of the NFS processes is not running, such as
nfslock, and needs to be restarted.
Follow the steps below to resolve the issue:
- If you have access to the storage location, verify that a file already exists at the location where it failed as shown in the logs.
jiveobjecttype_ztable to determine the
idtype_zof the affected object.
jiveidtable for the
current IDfor the affected type_z.
Increment the next id for the affected type_z by a thousand or so.
Clear the application caches via the admin console.
Retest to confirm you are able to upload the object of type_z without any problem.