0 votes
asked in MicroStream for Java by (240 points)
edited by

What would be causing this issue?  This occurs only after I initially run app and load some data into the Microstream cache.  Then I stop/start the app and run the same seed process for the same data and it gives this error.  It only occurs with one cache all others are fine.  If I don't stop the app all queries work fine, it's only on the stop/start it occurs.

Additional information.  If I catch the exception and then repeat the 'get' then I don't get the exception on the subsequent call and it returns the value.  Having the code example below then the problem is resolved, but obviously this is not the correct solution.

var vo = null;
try {
   vo = cache.get("foo");
} catch (Throwable e) {
	try {
		vo = cache.get("foo");
	} catch (Throwable e1) {
		throw new QueryException("key: foo", e1);

Basically, what am I doing wrong that could cause this?

Caused by: java.lang.RuntimeException: Element hashing inconsistency in java.util.HashMap@465ccd78
	at one.microstream.collections.old.OldCollections.populateMap(OldCollections.java:521)
	at one.microstream.collections.old.OldCollections.populateMapFromHelperArray(OldCollections.java:511)
	at one.microstream.jdk8.java.util.BinaryHandlerHashMap.complete(BinaryHandlerHashMap.java:122)
	at one.microstream.jdk8.java.util.BinaryHandlerHashMap.complete(BinaryHandlerHashMap.java:1)
	at one.microstream.persistence.binary.internal.AbstractBinaryHandlerCustom.complete(AbstractBinaryHandlerCustom.java:1)
	at one.microstream.persistence.binary.types.BinaryLoader$Default.completeInstances(BinaryLoader.java:484)
	at one.microstream.persistence.binary.types.BinaryLoader$Default.build(BinaryLoader.java:383)
	at one.microstream.persistence.binary.types.BinaryLoader$Default.getObject(BinaryLoader.java:840)
	at one.microstream.persistence.types.PersistenceManager$Default.getObject(PersistenceManager.java:396)
	at one.microstream.storage.types.StorageConnection.getObject(StorageConnection.java:360)
	at one.microstream.storage.types.Database$Default.getObject(Database.java:147)
	at one.microstream.reference.Lazy$Default.load(Lazy.java:393)
	at one.microstream.reference.Lazy$Default.get(Lazy.java:376)
	at one.microstream.reference.Lazy.get(Lazy.java:77)
	at one.microstream.cache.CacheStore$Default.load(CacheStore.java:77)


Please log in or register to answer this question.

Notes: Every question must be a separate forum post. Headline: Formulate your question shortly and precisely. Thank you!
Powered by Question2Answer