-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NoSuchFileException if fcrepo 4 export didn't create directories alongside ACL files #55
Comments
Looks like there is a fix for this recently implemented in a fork: TAMULib#1 |
Sorry @cjcolvar totally missed this. My memory of 4.7 is slowing weakening. Do you know if these ACLs are empty? Or perhaps had data and then it was removed? |
@whikloj The original data in Fedora 4.7 is for a Samvera (ActiveFedora-based) application. It created nodes in Fedora for ACLs but I think did so in a different way then the upgrade tool expects. It is possible that some of these ACLs didn't have any RDF statements of interest to the upgrade tool. I changed my approach to working around this issue and instead of generating the empty directories I ended up preserving the old triples and letting them get processed as any normal triple would. This worked better for me because ActiveFedora hasn't been setup to handle the new ACLs created by the upgrade tool. This was also the approach I took for another issue I had with the upgrade tool where we needed to turn off special handling of certain predicates. So I think ultimately that is what would be best: add flags/options to skip special handling of specific predicates. Here's the diff of changes I made that allowed a successful (and quick) upgrade. |
Would you be able to package up an object or two of your 4.7 Avalon. Without any sensitive data of course, but then I could build an actual test to see what you are starting with and understand what you are ending up with too. Also, are you just migrating from 4.7 to 5.x right now or are you trying to move on from there to 6.x? |
Sure, I'll try to pack something up. The goal was moving to 6.x. |
I ran a successful export of a fcrepo 4.7.5 using the import/export tool version 0.3.0, but when trying to migrate the export to fcrepo 5 I run into a NoSuchFileException:
From what I can tell the ACL that is trying to be converted is empty. It does not contain any child nodes. Other ACLs that were processed before this error did contain children. Because they had children they had directories created for them alongside the turtle file. The ones that didn't have children did not have directories created which I believe led to the above error. I wrote a quick script to create these empty directories for all ACLs that were missing them and the migration ran successfully. My guess is that there needs to be a check added before attempting the
File.walk
to skip if the directory doesn't exist.fcrepo-upgrade-utils/src/main/java/org/fcrepo/upgrade/utils/F47ToF5UpgradeManager.java
Line 347 in b2c43e1
The text was updated successfully, but these errors were encountered: