I don't have a clean example to reproduce this, but if you use the VBS2020-Dump (https://download-dbis.dmi.unibas.ch/vitrivr/cottontaildb-data.zip) and try to optimize the cineast_tags
entity, the following error occurs (on windows, regardless of whether forceUnmapMappedFiles
is set to true or false, you can also not delete the index):
2020-11-11 19:48:10 ERROR CottonDDLService:341 - Error while optimizing entity 'warren.cineast.cineast_tags'
org.mapdb.DBException$VolumeIOError
at org.mapdb.volume.MappedFileVol.truncate(MappedFileVol.java:285)
at org.mapdb.WriteAheadLog.destroyWalFiles(WriteAheadLog.java:791)
at org.mapdb.StoreWAL.commit(StoreWAL.kt:643)
at org.mapdb.DB.commit(DB.kt:435)
at org.vitrivr.cottontail.database.index.hash.UniqueHashIndex$Tx.performCommit(UniqueHashIndex.kt:294)
at org.vitrivr.cottontail.database.index.Index$Tx.commit(Index.kt:160)
at org.vitrivr.cottontail.database.entity.Entity$Tx.commit(Entity.kt:365)
at org.vitrivr.cottontail.database.general.TransactionKt.begin(Transaction.kt:42)
at org.vitrivr.cottontail.database.entity.Entity.updateAllIndexes(Entity.kt:268)
at org.vitrivr.cottontail.server.grpc.services.CottonDDLService.optimize(CottonDDLService.kt:326)
at org.vitrivr.cottontail.grpc.CottonDDLGrpc$MethodHandlers.invoke(CottonDDLGrpc.java:1107)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:331)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:814)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.IOException: Der Vorgang ist bei einer Datei mit einem ge�ffneten Bereich, der einem Benutzer zugeordnet ist, nicht anwendbar
at java.base/sun.nio.ch.FileDispatcherImpl.truncate0(Native Method)
Caused by: java.io.IOException: Der Vorgang ist bei einer Datei mit einem ge�ffneten Bereich, der einem Benutzer zugeordnet ist, nicht anwendbar
at java.base/sun.nio.ch.FileDispatcherImpl.truncate(FileDispatcherImpl.java:90)
at java.base/sun.nio.ch.FileChannelImpl.truncate(FileChannelImpl.java:430)
at org.mapdb.volume.MappedFileVol.truncate(MappedFileVol.java:283)
... 18 more