Hi Andrey,
Thank you very much for the prompt response.

We have only one node in a JVM.


This is my grid config. We use 1.9.0 Ignite.

IgniteConfiguration cfg = new IgniteConfiguration();

cfg.setPeerClassLoadingEnabled(false);

cfg.setLifecycleBeans(new LogLifecycleBean());

TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();

TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
Collection<String> addressSet = new HashSet<>();
for (String address : ipList) {
    addressSet.add(address);
}
ipFinder.setAddresses(addressSet);

discoverySpi.setJoinTimeout(10000);
discoverySpi.setLocalPort(47500);
discoverySpi.setIpFinder(ipFinder);

cfg.setDiscoverySpi(discoverySpi);

And this is the cache config. We don’t set cache group specifically.


CacheConfiguration<String, String> cc = new CacheConfiguration();

cc.setName("mycache");
cc.setBackups(1);
cc.setCacheMode(CacheMode.PARTITIONED);
cc.setAtomicityMode(CacheAtomicityMode.ATOMIC);

LruEvictionPolicy evpl = new LruEvictionPolicy();
evpl.setMaxSize(10000);

cc.setEvictionPolicy(evpl);

cc.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(
        new Duration(TimeUnit.SECONDS, 15)));

cc.setStatisticsEnabled(true);



From: Andrey Mashenkov [mailto:andrey.mashen...@gmail.com]
Sent: Friday, June 08, 2018 10:02 AM
To: user@ignite.apache.org
Subject: Re: Error while Starting Grid: 
javax.management.InstanceAlreadyExistsException: (LruEvictionPolicy)

Hi,

Looks like a bug.

Can you share grid configuration?
Do you have more than one node in same JVM?
Do you have configure cache groups manually?

On Fri, Jun 8, 2018 at 4:48 PM, HEWA WIDANA GAMAGE, SUBASH 
<subash.hewawidanagam...@fmr.com<mailto:subash.hewawidanagam...@fmr.com>> wrote:
Hi everyone,

As a quick note on what we do here, we listen to NODE_FAILED, and 
NODE_SEGMENTED events and upon such events, we use Ignition.stopAll(true) and 
Ignition.start() to restart the Ignite grid in a given JVM. Here Ignite does  
not starts as a standalone process by itself, but bootstrap programmatically 
since it’s meant to be a part of some other main process.

So we received a NODE_FAILED evet and restarted Ignite where we see following 
error and start fails. And “mycache” is created with LRU  eviction policy at 
Ignite startup process.

As per error, it tries to registering an LruEvictionPolicy MBean twice. We use 
a cache named mycache in PARTITIONED mode with 4 nodes in the cluster. Any idea 
for this behavior ?


org.apache.ignite.IgniteException: Failed to register MBean for component: 
LruEvictionPolicy [max=100000, batchSize=1, maxMemSize=524288000, memSize=0, 
size=0]
   at 
org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:946)
   at org.apache.ignite.Ignition.start(Ignition.java:325)
   at com.test.IgniteRuntime.start(IgniteRuntime.java:87)
   at 
com.test.segmentation.SegmentationResolver.recycle(SegmentationResolver.java:61)
   at com.test.RandomizedDelayResolver.resolve(RandomizedDelayResolver.java:47)
   at 
com.test.SegmentationProcessor.lambda$init$2(SegmentationProcessor.java:95)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
   at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
   at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
   at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.ignite.IgniteCheckedException: Failed to register MBean 
for component: LruEvictionPolicy [max=100000, batchSize=1, 
maxMemSize=524288000, memSize=0, size=0]
   at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.registerMbean(GridCacheProcessor.java:3518)
   at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepare(GridCacheProcessor.java:557)
   at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepare(GridCacheProcessor.java:529)
   at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1306)
  at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:801)
   at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:959)
   at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1799)
   at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1602)
   at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042)
   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569)
   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516)
   at org.apache.ignite.Ignition.start(Ignition.java:322)
   ... 11 common frames omitted
Caused by: javax.management.InstanceAlreadyExistsException: 
org.apache:clsLdr=764c12b6,group=mycache,name=org.apache.ignite.cache.eviction.lru.LruEvictionPolicy
   at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
   at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
   at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
   at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
   at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
   at 
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
   at 
org.apache.ignite.internal.util.IgniteUtils.registerCacheMBean(IgniteUtils.java:4523)
   at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.registerMbean(GridCacheProcessor.java:3514)
   ... 22 common frames omitted







--
Best regards,
Andrey V. Mashenkov

Reply via email to