Open tworogue opened 5 years ago
Are you still experiencing the issue on latest version?
I am still experiencing this issue. The exception is thrown from this line in HaloDBFile. Both me and @tworogue are on Windows, that might be why? The documentation for Files.move states this for the ATOMIC_MOVE flag:
The move is performed as an atomic file system operation and all other options are ignored. If the target file exists then it is implementation specific if the existing file is replaced or this method fails by throwing an IOException.
Edit: I removed the ATMIC_MOVE flag but that did not solve anything.
Every time when repairing database after incorrect shutdown I get following error:
Caused by: java.nio.file.FileSystemException: C:\database\1549869944.index.repair -> C:\database\1549869944.index: The process cannot access the file because it is being used by another process.
It seems like when calling method
openDataFilesForReading()
my '.index' file has been opened for reading and hadn't been closed after it. No other processes use this file.So when we call method
repairFile(DBDirectory dbDirectory)
we get an exception in line:Files.move(repairFile.indexFile.getPath(), indexFile.getPath(), REPLACE_EXISTING, ATOMIC_MOVE);
Any suggestions on how to avoid this error?