Moiz,
What version you're on?
Please switch to Ignite version 1.5 and set peerClassLoadingEnabled back
to true. You shouldn't face with the undeployment when using 1.5 because
BinaryMarshaller will be enabled by default.
--
Denis
On 2/10/2016 11:12 AM, Syed Moizuddin wrote:
I am setting peerClassLoadingEnabled as false now and not seeing any
issue.
In my earlier setup, the cache data was inserted using a single
client. I will try to reproduce the setup and let you know if I still
faced the issue.
Thanks,
Moiz
On Wed, Feb 10, 2016 at 11:17 AM, Denis Magda <[email protected]
<mailto:[email protected]>> wrote:
I've not noted that the cache was cleared when some of the server
nodes left the topology.
Was the cache data inserted from all the nodes or from specific
nodes only (including the crashed one)?
--
Denis
On 2/9/2016 6:32 PM, Syed Moizuddin wrote:
Thanks Denis, I will refer the docs.
I had peerClassLoadingEnabled set to*true,*in my config. Also the
cache creation happened from a node in client mode, which exit
after cache creation. I was able to run queries in Zeppelin till
one of the server crashed. Is this scenario also covered?
Regards,
Moiz
On Tue, Feb 9, 2016 at 8:09 PM, Denis Magda <[email protected]
<mailto:[email protected]>> wrote:
Hi Moiz,
This happens due to several reasons:
- you're using peer-class-loading feature [1] that allows to
load a class definition from remote nodes if a class is
missed locally.
- in your case a remote node loads Model class from the node
that created TEST cache and has its class locally;
- when the node that started the cache leaves the cluster
this cache is undeployed because DeploymentMode.SHARED mode
is used. Please refer to the description of this and other
nodes for more details.
To workaround this situation you can switch to Ignite
1.5.0.final that uses binary objects format [2] for which
peer-class-loading is not needed at the cache level and thus
the undeployment will not happen.
If you don't need the peer-class-loading for the rest of
functionality (Ignite Compute, scan queries filters, etc.)
then I would suggest you turning off it at all by removing
<property name="peerClassLoadingEnabled" value="true"/>
from your config.
[1] https://apacheignite.readme.io/docs/zero-deployment
[2] https://apacheignite.readme.io/docs/binary-marshaller
--
Denis
On 2/9/2016 9:17 AM, Syed Moizuddin wrote:
Hi,
I have a ignite cluster with cache TEST created as follows:
try (Ignite ignite = Ignition.start("config/example-ignite.xml"));) {
System.out.println(">>> Cache data streamer example started.");
CacheConfiguration<Long, Model> cacheConfiguration =new
CacheConfiguration<>(CACHE_NAME);
cacheConfiguration.setCacheMode(CacheMode.PARTITIONED);// Default.
cacheConfiguration.setIndexedTypes(Long.class, Model.class);
cacheConfiguration.setBackups(1);
...
When one of the node crashes, the cache is cleared and I see
the following log on the running nodes.
[13:12:02] Topology snapshot [ver=48, servers=12, clients=2,
CPUs=136, heap=54.0GB]
[13:23:43] Topology snapshot [ver=49, servers=11, clients=2,
CPUs=136, heap=50.0GB]
[13:25:58] Cleared all cache entries for undeployed class
loader [cacheName=TEST, undeployCnt=1079679,
swapUndeployCnt=0,
clsLdr=o.a.i.i.managers.deployment.GridDeploymentClassLoader]
[13:25:58] ^-- Cache auto-undeployment happens in SHARED
deployment mode (to turn off, switch to CONTINUOUS mode)
Could someone help me explain(or point to doc) what happened
how to avoid the cache getting cleared.
Regards,
Moiz