When using a Microstream database with a backup directory, all files but "PersistenceTypeDictionary.ptd" are cloned within backup directory.
When trying to use backup directory as origin database, Microstream tries to reproduce this missing file but I get a NullPointerException:
Exception in thread "main" java.lang.RuntimeException: Problem in channel 0
at one.microstream.storage.types.StorageChannelTask$Abstract.checkForProblems(StorageChannelTask.java:61)
at one.microstream.storage.types.StorageChannelTask$Abstract.waitOnCompletion(StorageChannelTask.java:123)
at one.microstream.storage.types.StorageManager$Default.startThreads(StorageManager.java:280)
at one.microstream.storage.types.StorageManager$Default.internalStartUp(StorageManager.java:449)
at one.microstream.storage.types.StorageManager$Default.start(StorageManager.java:519)
at one.microstream.storage.types.StorageManager$Default.start(StorageManager.java:1)
at one.microstream.storage.types.EmbeddedStorageManager$Default.start(EmbeddedStorageManager.java:233)
at one.microstream.storage.types.EmbeddedStorageManager$Default.start(EmbeddedStorageManager.java:1)
at one.microstream.storage.types.EmbeddedStorage.createAndStartStorageManager(EmbeddedStorage.java:580)
at one.microstream.storage.types.EmbeddedStorage.start(EmbeddedStorage.java:464)
at com.packenius.book.microstream.examples.backup.Backup_03_CountBackupListEntries.main(Backup_03_CountBackupListEntries.java:12)
Caused by: java.lang.NullPointerException
at one.microstream.storage.types.StorageFileManager$Default.clearRegisteredFiles(StorageFileManager.java:299)
at one.microstream.storage.types.StorageFileManager$Default.clearState(StorageFileManager.java:1186)
at one.microstream.storage.types.StorageFileManager$Default.initializeStorage(StorageFileManager.java:871)
at one.microstream.storage.types.StorageChannel$Default.initializeStorage(StorageChannel.java:621)
at one.microstream.storage.types.StorageChannelTaskInitialize$Default.succeed(StorageChannelTaskInitialize.java:197)
at one.microstream.storage.types.StorageChannelTaskInitialize$Default.succeed(StorageChannelTaskInitialize.java:1)
at one.microstream.storage.types.StorageChannelSynchronizingTask$AbstractCompletingTask.synchronizedComplete(StorageChannelSynchronizingTask.java:61)
at one.microstream.storage.types.StorageChannelSynchronizingTask$AbstractCompletingTask.complete(StorageChannelSynchronizingTask.java:109)
at one.microstream.storage.types.StorageChannelTask$Abstract.processBy(StorageChannelTask.java:213)
at one.microstream.storage.types.StorageChannel$Default.work(StorageChannel.java:281)
at one.microstream.storage.types.StorageChannel$Default.run(StorageChannel.java:351)
at java.lang.Thread.run(Thread.java:748)
What is wrong with my doing?