Hi,

Just some context first: We have a java application, and use spring function
caching. In acceptance and prod, we have multiple instances and for that we
use Ignite as a distributed in-memory cache. On test we run single
instances, and we use Ignite just as a non-distributed in memory cache. We
start Ignite embedded from out application. On acc/prod in server mode, on
test in client mode. Like I said, we do not want any persistence!

Now on test we run into the problem that we get a BinaryObjectException like
: 'Conflicting enum values. Name 'OPEX_LOAN_LIMIT_WEIGHT' uses ordinal value
(11) that is also used for name 'OPEX_RCK_MAX''

I traced the code and the mergeEnumValues of BinaryUtils throws this
exception. It seems to have a list of enum values stored in a map, with the
ordinal as key. But... that is of values is incorrect, values are missing!
It then receives a value not in that list, but with an ordinal already in
that list, and then throws the exception.

My questions:
- What is happening here?
- How is it possible for Ignite to have an incorrect breakdown of our enum?
- Why is ignite serialising our objects if it is not persisting them? There
is no need for this, we just want an in-memory cache.
- Why is the Ignite marshaller persisting class data in the
tomcat/temp/ignite/... folder? Especially since it should be running in non
persistence mode.
- How can we fix this problem because right now, this prevents us from going
to prod?

If Ignite somehow persists information about your classes, how do you then
deploy new versions of your application with model changes and prevent these
kind of problems from happening?

Kind regards,

Roger Janssen



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to