Dear Igniters, I have come across a bug in ContinuousQueryWithTransformer. The thing is that the query is failing to deliver some updates when a custom java class is being used as a transformed value. On attempt to serialize the custom type Ignite marshaller throws an exception, stated that the class hasn’t been registered yet. Sometimes it takes like 3-4 attempts for a marshaller to serialize the required object. It would’ve been kind of ok if the event would be eventually delivered, however that is not the case.
The code that I am using to reproduce the issue: https://gist.github.com/ifedorenkov-tda/069b33edcd4fdb0afd68862c1b46563f The output: Put account: Person#1 Put account: Person#2 Caught updated account: Person#1 Caught updated account: Person#2 Put account: Person#3 Caught updated account: Person#3 Put account: Person#4 Caught updated account: Person#4 Put account: Person#5 Caught updated account: Person#5 Put account: Person#6 Caught updated account: Person#6 Put account: Person#7 Caught updated account: Person#7 Put account: Person#8 Put account: Person#9 Caught updated account: Person#9 Put account: Person#10 Caught updated account: Person#10 Put account: Person#11 Caught updated account: Person#11 Put account: Person#12 … As you can see the update for Person#8 has been missed. Workaround: use Externalizable type, so that Ignite won’t fail to serialize the object from the very beginning Best regards, Ivan Fedorenkov
