I’m using a Microstream database, and now and then I get following message:
org.eclipse.store.storage.exceptions.StorageExceptionIoWriting: Physical length 143676 of current head file 10 is not equal its expected length of 142588 at org.eclipse.store.storage.types.StorageFileManager$Default.ensureHeadFileTotalLength(StorageFileManager.java:577) at org.eclipse.store.storage.types.StorageFileManager$Default.storeChunks(StorageFileManager.java:595) at org.eclipse.store.storage.types.StorageChannel$Default.storeEntities(StorageChannel.java:592) at org.eclipse.store.storage.types.StorageRequestTaskStoreEntities$Default.internalProcessBy(StorageRequestTaskStoreEntities.java:73) at org.eclipse.store.storage.types.StorageRequestTaskStoreEntities$Default.internalProcessBy(StorageRequestTaskStoreEntities.java:40) at org.eclipse.store.storage.types.StorageChannelTask$Abstract.processBy(StorageChannelTask.java:244) at org.eclipse.store.storage.types.StorageChannel$Default.work(StorageChannel.java:453) at org.eclipse.store.storage.types.StorageChannel$Default.run(StorageChannel.java:536)
After that, I can only get my application back working if I empty the database. The problem is intermittent, and as far as I can see, cannot be triggered.
My questions are:
- where is this coming from ?
- how can I avoid it ?
- how can I get the database back in order, without having to start all over ?