Skip to content
Snippets Groups Projects
Commit 0935a6f9 authored by srosse's avatar srosse
Browse files

no-jira: fix concurrent issue in VFS migration

parent 74c9c259
No related branches found
No related tags found
No related merge requests found
...@@ -1087,18 +1087,18 @@ public class VFSRepositoryServiceImpl implements VFSRepositoryService, GenericEv ...@@ -1087,18 +1087,18 @@ public class VFSRepositoryServiceImpl implements VFSRepositoryService, GenericEv
if(directory.isHidden() || VFSRepositoryModule.canMeta(directory) != VFSConstants.YES) { if(directory.isHidden() || VFSRepositoryModule.canMeta(directory) != VFSConstants.YES) {
return FileVisitResult.SKIP_SUBTREE; return FileVisitResult.SKIP_SUBTREE;
} }
if(dir.getNameCount() > 50) { if(dir.getNameCount() > 50 || parentLine.size() > 50) {
log.error("More than 50 directories deep. Stop migrating metadata: {}", directory); log.error("More than 50 directories deep. Stop migrating metadata: {}", directory);
return FileVisitResult.SKIP_SUBTREE; return FileVisitResult.SKIP_SUBTREE;
} }
VFSMetadata parent = parentLine.peekLast(); VFSMetadata parent = parentLine.peekLast();
VFSMetadata metadata = migrateMetadata(dir.toFile(), parent); VFSMetadata metadata = migrateMetadata(dir.toFile(), parent);
parentLine.add(metadata);
if(metadata != null && "migrated".equals(metadata.getMigrated())) { if(metadata != null && "migrated".equals(metadata.getMigrated())) {
dbInstance.commitAndCloseSession(); dbInstance.commitAndCloseSession();
return FileVisitResult.SKIP_SUBTREE; return FileVisitResult.SKIP_SUBTREE;
} }
parentLine.add(metadata);
dbInstance.commit(); dbInstance.commit();
return FileVisitResult.CONTINUE; return FileVisitResult.CONTINUE;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment