The commit is quite old but it has been included only in the 6.0 release(s) $ git tag --contains 54222f3c1d3c63bd03af263703a950e9cfad7439 dspace-6.0 dspace-6.0-rc1 dspace-6.0-rc2 dspace-6.0-rc3 dspace-6.0-rc4
so only very recent DSpace installations (6.0) are affected. I'm pretty confident about the fix... it will be nice if you can create a PR and maybe add some unit test specific for these use cases. Otherwise feel free to create a JIRA issue for that and assign it to me, I will create the PR in the next couple of days. Andrea Il 18/01/2017 17:41, Pedro Amorim ha scritto: Hey Andrea, I implement the change you suggest and it's working perfectly. And before my last reply I was also suspecting this was a core bug. However, I'm still a bit skeptical about it, because if this is true, it means that any DSpace installation after nov 8, 2014 has this problem. If this is an actual core bug, every installation from nov 8, 2014 has its assetstore with orphaned objects. It would be great to have input from even other developers (more experienced than me) to at least comment on this. Meanwhile, I will do as you suggest and submit the JIRA for it and also create a pull request on github. Thank you. Pedro Amorim quarta-feira, 18 de Janeiro de 2017 às 12:47:11 UTC-1, Bollini Andrea escreveu: Hi Pedro, yes it looks to me that the line https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java#L289 is buggy, it should be if(0 == bitstreamService.findDuplicateInternalIdentifier(context, bitstream).size()) also the history of the sourcecode seems to indicate such solution https://github.com/DSpace/DSpace/commit/54222f3c1d3c63bd03af263703a950e9cfad7439#diff-4858f5a048b9ccffb27b7072486403bcL642 as we want to remove the file from the assetstore only if it is not used by other bitstreams. Can you open (or update if exist) a JIRA issue for that? Andrea Il 18/01/2017 13:57, Pedro Amorim ha scritto: Hello Bollini, Thank you for your input! Yes I am aware of that, as mentioned in my other thread regarding this issue: https://groups.google.com/forum/#!searchin/dspace-tech/cleanup$20not$20working%7Csort:relevance/dspace-tech/gz73RSg4Fhs/736BHQhmBgAJ<https://groups.google.com/forum/#%21searchin/dspace-tech/cleanup$20not$20working%7Csort:relevance/dspace-tech/gz73RSg4Fhs/736BHQhmBgAJ> The following is my understanding of the code: The cleanup command runs the cleanup function in BitstreamStorageServiceImpl.java: https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java#L220 However, it will only actually call the remove() method in line 291: https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java#L291 Which needs bitstreamService.findDuplicateInternalIdentifier(context, bitstream).size() to return > 0 and it never will. It always returns 0 and thus never actually calls the remove() method. It will never return > 0 because the function findDuplicateInternalIdentifier is just a validation for versioning and should only return > 0 if theres more than one bitstream ID for a given bitstream internal ID, as seen: https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java#L51 The above is my interpretation of the code and the point where I'm stuck at the moment. Note that I can't get it to work in local standard storage as well. Using DSpace 6.0. Thanks, Pedro Amorim quarta-feira, 18 de Janeiro de 2017 às 11:35:45 UTC-1, Bollini Andrea escreveu: Hi Pedro, I could say something obvious but just to check: are you aware that a deletion from the UI is just a "promise"? the bitstream row is flagged with deleted = true, the real deletion is performed by the cleanup script i.e. [dspace-dir]/bin/dspace cleanup https://github.com/DSpace/DSpace/blob/ea642d6c9289d96b37b5de3bb7a4863ec48eaa9c/dspace/config/launcher.xml#L37 https://github.com/DSpace/DSpace/blob/269af71afb602808a14edf822ad658c3895e0a37/dspace-api/src/main/java/org/dspace/storage/bitstore/Cleanup.java Best, Andrea Il 18/01/2017 13:08, Pedro Amorim ha scritto: Hello Jaime, Did you come to any conclusion? i'm having the same problem but with Google Cloud Storage and also local standard storage. You can follow the thread here: https://groups.google.com/forum/#!searchin/dspace-tech/cleanup$20not$20working%7Csort:relevance/dspace-tech/gz73RSg4Fhs/736BHQhmBgAJ<https://groups.google.com/forum/#%21searchin/dspace-tech/cleanup$20not$20working%7Csort:relevance/dspace-tech/gz73RSg4Fhs/736BHQhmBgAJ> Thanks, Pedro Amorim quarta-feira, 11 de Janeiro de 2017 às 20:00:04 UTC-1, Jaime Solorzano escreveu: I was watching this but it does not https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/storage/bitstore/S3BitStoreService.java#L247 Jaime El miércoles, 11 de enero de 2017, 11:59:27 (UTC-5), Jaime Solorzano escribió: Hello I see that cleanup does not delete the s3 files, which method should be used? Someone done this? Jaime Solorzano -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/dspace-tech. For more options, visit https://groups.google.com/d/optout. -- Andrea Bollini Chief Technology and Innovation Officer 4Science, www.4science.it<http://www.4science.it> office: Via Edoardo D'Onofrio 304, 00155 Roma, Italy mobile: +39 333 934 1808 skype: a.bollini linkedin: andreabollini orcid: 0000-0002-9029-1854 an Itway Group Company Italy, France, Spain, Portugal, Greece, Turkey, Lebanon, Qatar, U.A.Emirates -- Andrea Bollini Chief Technology and Innovation Officer 4Science, www.4science.it<http://www.4science.it> office: Via Edoardo D'Onofrio 304, 00155 Roma, Italy mobile: +39 333 934 1808 skype: a.bollini linkedin: andreabollini orcid: 0000-0002-9029-1854 an Itway Group Company Italy, France, Spain, Portugal, Greece, Turkey, Lebanon, Qatar, U.A.Emirates -- Andrea Bollini Chief Technology and Innovation Officer 4Science, www.4science.it<http://www.4science.it> office: Via Edoardo D'Onofrio 304, 00155 Roma, Italy mobile: +39 333 934 1808 skype: a.bollini linkedin: andreabollini orcid: 0000-0002-9029-1854 an Itway Group Company Italy, France, Spain, Portugal, Greece, Turkey, Lebanon, Qatar, U.A.Emirates -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/dspace-tech. For more options, visit https://groups.google.com/d/optout.
