Hi All, 

We have a very simple bean, and while use the cashe's replace it will work, but 
#invokeAsync or #invoke will report error.   am i using it wrong? 

#This can work

AccountEntry ae = accountCache.get(accountId.getIdentifier());
if(ae!=null){
    if (ae.getSequence() < sequence) {
        ae.setCash(totalLeft)
                .setUpdateTime(instant.toEpochMilli())
                .setReserved(totalReserved)
                .setSequence(sequence);
        accountCache.replace(accountId.getIdentifier(), ae);
    }
}


this can not:

accountCache.invokeAsync(accountId.getIdentifier(), (entry, arguments) -> {

    if(entry.exists()) {
        final AccountEntry ae = entry.getValue();
        if (ae.getSequence() < sequence) {
            ae.setCash(totalLeft)
                    .setUpdateTime(instant.toEpochMilli())
                    .setReserved(totalReserved)
                    .setSequence(sequence);
            entry.setValue(ae);
        }
    }
    return null;
});

Exception:

at 
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.write(BinaryFieldAccessor.java:478)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.write(BinaryClassDescriptor.java:793)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:206)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:201)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.doWriteObject(BinaryWriterExImpl.java:496)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.writeObjectField(BinaryWriterExImpl.java:1160)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.write(BinaryFieldAccessor.java:663)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.write(BinaryClassDescriptor.java:793)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:206)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:201)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.doWriteObject(BinaryWriterExImpl.java:496)
 ~[ignite-core-2.1.0.jar!/:2.1.0]
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.writeObjectField(BinaryWriterExImpl.java:1160)
 ~[ignite-core-2.1.0.jar!/:2.1.0]




[email protected]

Reply via email to