ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niels Ejrnæs (JIRA) <j...@apache.org>
Subject [jira] [Created] (IGNITE-12058) AtomicReference issue with different userVersions
Date Mon, 12 Aug 2019 07:50:00 GMT
Niels Ejrnæs created IGNITE-12058:
-------------------------------------

             Summary: AtomicReference issue with different userVersions
                 Key: IGNITE-12058
                 URL: https://issues.apache.org/jira/browse/IGNITE-12058
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.7.5
            Reporter: Niels Ejrnæs
         Attachments: ignite-playground.tar.gz

When running DeploymentMode CONTINUOUS or SHARED and connecting a client node with a different
userVersion from the server nodes - IgniteAtomicLongs and IgniteAtomicReferences cannot be
fetched directly from Ignite.
{code:java}
IgniteAtomicLong atomicLong = ignite.atomicLong("long", 0, false);
IgniteAtomicReference<String> atomicReference = ignite.atomicReference("reference",
"", false);
{code}
It throws an Exception {noformat}
SEVERE: Error deserializing job response: GridJobExecuteResponse [nodeId=b52607ba-b6d1-47bc-983c-380af8a679bd,
sesId=f13d9c48c61-0fabe984-ecf1-4acf-84ac-3bdd478405f7, jobId=023d9c48c61-0fabe984-ecf1-4acf-84ac-3bdd478405f7,
gridEx=null, isCancelled=false, retry=null]
class org.apache.ignite.IgniteCheckedException: Failed to unmarshal object with optimized
marshaller
	at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10147)
	...
Caused by: class org.apache.ignite.internal.IgniteDeploymentCheckedException: Failed to obtain
deployment for class: org.apache.ignite.configuration.CacheConfiguration$IgniteAllNodesPredicate
...
{noformat}

It works if you use a compute job to fetch it.
{code:java}
long remoteLong = ignite.compute().call(() -> { return ignite.atomicLong("long", 0, false).get();
});
ignite.compute().call(() -> { return ignite.atomicLong("long", 0, false).incrementAndGet();
});
String remoteReference = ignite.compute().call(() -> { return ignite.atomicReference("reference",
"", false).get(); });
{code}

I've attached a small reproducer project.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Mime
View raw message