Hello!

It seems that you are trying to deploy DTO using peer class loading, 
unfortunately, that's not possible. Peer class loading is mostly about task 
deployment, see 
https://ignite.apache.org/docs/latest/code-deployment/peer-class-loading

To resolve this you need to have your CacheState deployed on all nodes before 
deserialization happens or to work with cache in raw binary format.
https://ignite.apache.org/docs/latest/key-value-api/binary-objects


> On 26 May 2021, at 18:27, tsipporah22 <wenjing.w.zh...@nokia.com> wrote:
> 
> Hi Ilya,
> 
> Sorry I get back to you late. I have key-value classes on the server node.
> The peer class loading is enabled. I'm not getting this error consistently
> so it's hard to reproduce. Below is the code snippet that throws the error:
> 
> First I got CacheState object with tableName as the key:
> 
> public class CacheState implements Serializable {
>    private static final long serialVersionUID = 1L;
> 
>    @QuerySqlField(index=true)
>    private String tableName;
> 
>    @QuerySqlField
>    private long updateVersion;
> 
> 
>    public CacheState() {
>    }
> 
>    public CacheState(String tableName) {
>        this.tableName = tableName;
>    }
> 
>    public String getTableName() {
>        return tableName;
>    }
> 
>    public void setTableName(String tableName) {
>        this.tableName = tableName;
>    }
> 
>    public long getUpdateVersion() {
>        return updateVersion;
>    }
> 
>    public void setUpdateVersion(long updateVersion) {
>        this.updateVersion = updateVersion;
>    }
> 
> 
> And the error is thrown from this class:
> 
> public class WindowOptimizer {
>    private final Ignite ignite;
> 
>    private IgniteCache<String, CacheState> cacheStates;
> 
>    public void init() {
>        if (cacheStates == null) {
>            cacheStates =
> ignite.cache(CacheState.class.getSimpleName().toLowerCase());
>        }
>    }
> }
> 
>    private IgniteFuture<Collection&lt;Result>>
> updateCacheState(IgniteCompute compute, BaselinePeriod period,
>            OffsetDateTime now, WindowOptimizerCfg cfg) {
> 
>        final IgniteFuture<Collection&lt;Result>> future =
> compute.broadcastAsync(updater);
>        future.listen(f -> {
>            <did some job here>
> 
>            CacheState cacheState = cacheStates.get(tableName);    <--- this
> line throws Exception
> 
>            <did some job here>
>        })
>    }
> 
> 
> Thanks,
> tsipporah
> 
> 
> 
> 
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to