microstream icon indicating copy to clipboard operation
microstream copied to clipboard

Adding new TypeHandler raise an Exception on the old storage

Open zdenek-jonas opened this issue 3 years ago • 0 comments

Adding new Type Handler raised java.lang.UnsupportedOperationException on existing storage, when the current Type is already saved with generic type handler.

Just now for: java.util.concurrent.CopyOnWriteArraySet

Exception:

15:20:53  java.lang.UnsupportedOperationException: Types with varying persisted length are not supported, yet by generic mapping. Use a custom handler for type1000067:java.util.concurrent.CopyOnWriteArraySet
15:20:53  	at one.microstream.persistence.binary.types.BinaryLegacyTypeHandlerCreator$Default.deriveCustomWrappingHandler(BinaryLegacyTypeHandlerCreator.java:182)
15:20:53  	at one.microstream.persistence.types.PersistenceLegacyTypeHandlerCreator$Abstract.createLegacyTypeHandler(PersistenceLegacyTypeHandlerCreator.java:124)
15:20:53  	at one.microstream.persistence.types.PersistenceLegacyTypeMapper$Default.createLegacyTypeHandler(PersistenceLegacyTypeMapper.java:200)
15:20:53  	at one.microstream.persistence.types.PersistenceLegacyTypeMapper$Default.ensureLegacyTypeHandler(PersistenceLegacyTypeMapper.java:400)
15:20:53  	at one.microstream.persistence.types.PersistenceTypeHandlerManager$Default.ensureLegacyTypeHandler(PersistenceTypeHandlerManager.java:455)
15:20:53  	at one.microstream.persistence.types.PersistenceTypeHandlerManager$Default.ensureTypeHandler(PersistenceTypeHandlerManager.java:447)
15:20:53  	at one.microstream.persistence.types.PersistenceTypeHandlerManager$Default.lambda$2(PersistenceTypeHandlerManager.java:479)
15:20:53  	at one.microstream.collections.ChainStorageStrong.iterate(ChainStorageStrong.java:1335)
15:20:53  	at one.microstream.collections.HashEnum.iterate(HashEnum.java:701)
15:20:53  	at one.microstream.persistence.types.PersistenceTypeHandlerManager$Default.ensureTypeHandlers(PersistenceTypeHandlerManager.java:478)
15:20:53  	at one.microstream.persistence.types.PersistenceTypeHandlerManager$Default.ensureTypeHandlersByTypeIds(PersistenceTypeHandlerManager.java:469)
15:20:53  	at one.microstream.storage.embedded.types.EmbeddedStorageManager$Default.ensureRequiredTypeHandlers(EmbeddedStorageManager.java:335)
15:20:53  	at one.microstream.storage.embedded.types.EmbeddedStorageManager$Default.start(EmbeddedStorageManager.java:247)
15:20:53  	at one.microstream.storage.embedded.types.EmbeddedStorageManager$Default.start(EmbeddedStorageManager.java:1)
15:20:53  	at one.microstream.storage.embedded.types.EmbeddedStorage.createAndStartStorageManager(EmbeddedStorage.java:651)
15:20:53  	at one.microstream.storage.embedded.types.EmbeddedStorage.start(EmbeddedStorage.java:508)
15:20:53  	at one.microstream.ReadTypeTest.startStorage(ReadTypeTest.java:18)
15:20:53  	at one.microstream.ReadTypeTest.saveToMSAndReload(ReadTypeTest.java:42)
15:20:53  	at one.microstream.ReadTypeTest.saveAndLoadTest(ReadTypeTest.java:28)

zdenek-jonas avatar Sep 21 '21 13:09 zdenek-jonas