Hello!

I can see a very similar issue filed:
https://issues.apache.org/jira/browse/IGNITE-14856

There are hopes that it gets addresses in 2.11

Regards,
-- 
Ilya Kasnacheev


чт, 3 июн. 2021 г. в 14:37, Aleksandr Shapkin <lexw...@gmail.com>:

> 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