Details
-
Bug
-
Resolution: Fixed
-
Medium
-
4.2.1, 4.3.1
-
None
-
None
-
Severity 2 - Major
-
Description
When backup is performed, some Lucene indexes are being closed (--), but Crucible review index stays running. This causes problems when trying to run backup with "repository and application caches" option enabled as cache\cruidx\idx1\write.lock exists and cannot be accessed. The problem exists on Windows machines only.FE-3635
Steps to reproduce
- Make sure Crucible revision index is up (e.g. create a review)
- Go to Administration > Backup and perform a backup with "repository and application caches" option enabled
Expected behavior
Backup is performed successfully as all Lucene indexes are temporarily shut down
Actual behavior
Backup fails when trying to access cache\cruidx\idx1\write.lock file with:
The process cannot access the file because another process has locked a portion of the file
In the log:
java.io.IOException: The process cannot access the file because another process has locked a portion of the file at java.io.FileInputStream.readBytes(Native Method) [?:1.8.0_112] at java.io.FileInputStream.read(FileInputStream.java:255) [?:1.8.0_112] at com.cenqua.fisheye.io.IOHelper.copyStream(IOHelper.java:100) [fisheye.jar:?] at com.cenqua.fisheye.io.IOHelper.copyStream(IOHelper.java:89) [fisheye.jar:?] at com.atlassian.crucible.migration.item.FileSaver.add(FileSaver.java:75) [fisheye.jar:?] at com.atlassian.crucible.migration.item.FileSaver.add(FileSaver.java:66) [fisheye.jar:?] at com.atlassian.crucible.migration.item.FileSaver.add(FileSaver.java:66) [fisheye.jar:?] at com.atlassian.crucible.migration.item.FileSaver.add(FileSaver.java:66) [fisheye.jar:?] at com.atlassian.crucible.migration.item.FileSaver.addPath(FileSaver.java:27) [fisheye.jar:?] at com.atlassian.crucible.migration.item.FishEyeCacheBackup$SaverImpl.backup(FishEyeCacheBackup.java:91) [fisheye.jar:?] at com.atlassian.crucible.migration.BackupManagerImpl.createBackup(BackupManagerImpl.java:264) [fisheye.jar:?] at com.atlassian.crucible.migration.BackupManagerImpl.access$000(BackupManagerImpl.java:55) [fisheye.jar:?] at com.atlassian.crucible.migration.BackupManagerImpl$2$1.perform(BackupManagerImpl.java:153) [fisheye.jar:?] at com.atlassian.crucible.migration.BackupManagerImpl$2$1.perform(BackupManagerImpl.java:151) [fisheye.jar:?] at com.atlassian.crucible.maintenance.MaintenanceManager.doMaintenance(MaintenanceManager.java:111) [fisheye.jar:?] at com.atlassian.crucible.migration.BackupManagerImpl$2.run(BackupManagerImpl.java:151) [fisheye.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_112] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_112] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_112] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_112] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_112] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_112] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]