This is a email describing an issue and a fix for the issue so that others 
can solve it more easily than we did. We're working with DSpace 6.3.

The fundamental symptom is an intermittent error when ingesting new items 
into DSpace using the web front end. An example stack trace is included 
below.

The issue was caused for us by some command line operations being performed 
as the wrong linux user, ending up with some directories having the wrong 
user (files with the wrong user aren't normally a problem, since they're 
not normally modified). This caused intermittent failures when ingesting 
new items, because sometimes that random file name would be allocated to a 
correctly owned directory and sometimes to an incorrectly owned directory 
(which caused a permissions / not found error).

You may have this issue in your repository if you have ever performed 
command line (or cronjob) ingests or media conversions and have not been 
rigorous about using the correct user.

The fix for this is easy: assigning the files to the correct owner. In our 
case, a linux machine with DSpace running as tomcat and the assetstore 
split across two partitions the commands (executed as root) was: 

chown -R tomcat:tomcat /rep2/assetstore/ /rep3/assetstore/

A command to find recurrences appears to be:

find /rep2/assetstore/ /rep3/assetstore/ -not -user tomcat

Note that resolving this error would have been orders of magnitude easier 
if the stack trace had included the full path of the file / directory. 

cheers
stuart

2021-06-10 08:21:36,587 INFO org.dspace.content.BitstreamServiceImpl @ 
anonymous::update_bitstream:bitstream_id=6adfcb2f-637c-4b78-b11f-5ff0fcb67c59
2021-06-10 08:21:37,319 ERROR org.dspace.storage.bitstore.DSBitStoreService 
@ put(152676326109810625316094622276738270863, inputstream)
java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1023)
at 
org.dspace.storage.bitstore.DSBitStoreService.put(DSBitStoreService.java:125)
at 
org.dspace.storage.bitstore.BitstreamStorageServiceImpl.store(BitstreamStorageServiceImpl.java:107)

-- 
All messages to this mailing list should adhere to the Code of Conduct: 
https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
--- 
You received this message because you are subscribed to the Google Groups 
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dspace-tech/804b36b1-874f-425d-b436-ef18d6d4bffen%40googlegroups.com.

Reply via email to