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

Reply via email to