Hi, Please properly subscribe to the mailing list so that the community can receive email notifications for your messages. To subscribe, send empty email to [email protected] and follow simple instructions in the reply.
Kind regards, Alex. On Wed, May 10, 2017 at 2:30 PM, fatality [via Apache Ignite Users] < [email protected]> wrote: > Hi > > We have a use case as below > > > 1-) Start 2 ignite instance as data nodes and insert data into the cache. > 2-)Create a queue and register a remote listener by using remoteListen as > below > > //Queue creation > CollectionConfiguration colCfg = new CollectionConfiguration(); > colCfg.setCacheMode(PARTITIONED); > IgniteQueue<BinaryObject> queue = Ignition.ignite().queue(queueName, 0, > colCfg); > > //Remote Listener Closure > IgnitePredicate<CacheEvent> rmtLsnr = new IgnitePredicate<CacheEvent>() { > @Override public boolean apply(CacheEvent evt) { > System.out.println("Cache event [name=" + > evt.name() + ", key=" + evt.key() + ']'); > Ignite ignite = Ignition.ignite(); > IgniteQueue<String> queue = ignite.queue(queueName, 0, > null); > String key = evt.key(); > BinaryObject profile = (BinaryObject) evt.newValue(); > System.out.println("Received event [evt=" + evt.name() + > ", key=" + evt.key() + > ", oldVal=" + evt.oldValue().toString() + ", > newVal=" + evt.newValue().toString()); > > if (profile.<Double>field("usage") > start && > profile.<Double>field("usage") < end > && ignite.affinity("profileCache" > ).isPrimary(ignite.cluster().localNode(), key)){ > queue.add(profile.field("number")); > } > return false; > } > }; > > > Ignition.ignite().events(ignite.cluster().forCacheNodes("profileCache")).remoteListen(1,1l,false,null, > rmtLsnr, > EVT_CACHE_OBJECT_PUT, > EVT_CACHE_OBJECT_REMOVED); > > > 3-)Do some updates in the cache instances as below to get updates into the > remotelistener. > > void updateAnyProfile(Double newDataUsage){ > SqlQuery qry = new SqlQuery(VeonProfile.class,"select * from > VeonProfile where dataUsage < 30 limit 10"); > List<CacheEntryImpl<String, VeonProfile>> res = > veonProfileCache.query(qry).getAll(); > VeonProfile profile = res.iterator().next().getValue(); > profile.setDataUsage(newDataUsage); > veonProfileCache.put(profile.getCtn(), profile); > profile.setDataUsage(newDataUsage+1); > veonProfileCache.put(profile.getCtn(), profile); > > } > > > 4-) Take the elements from the queue. > > public void readFromQueue (String queueName) { > // Initialize new FIFO queue. > IgniteQueue<String> queue = Ignition.ignite().queue(queueName, 0, > null); > while (true) { > String profile = queue.take(); > System.out.println("Profile from queue: " + > profile.toString()); > } > } > > The problem is application hangs to do any operation after doing above > scenario. Could you please help us? We would really appriciate if you could > tell us what we are doing wrong? > > Below is the thread dump of the hanging datanode and same datanode hangs > at below code IgniteQueue<String> queue = > ignite.queue(queueName, 0, null); > > > "sys-stripe-5-#6%null%" #25 prio=5 os_prio=31 tid=0x00007fd88d031800 > nid=0x14c07 waiting on condition [0x00007000036e7000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:304) > > at org.apache.ignite.internal.util.future.GridFutureAdapter. > get0(GridFutureAdapter.java:176) > at org.apache.ignite.internal.util.future.GridFutureAdapter. > get(GridFutureAdapter.java:139) > at org.apache.ignite.internal.processors.cache. > GridCacheAdapter.get0(GridCacheAdapter.java:4482) > at org.apache.ignite.internal.processors.cache. > GridCacheAdapter.get(GridCacheAdapter.java:4463) > at org.apache.ignite.internal.processors.cache. > GridCacheAdapter.get(GridCacheAdapter.java:1405) > at org.apache.ignite.internal.processors.cache.datastructures. > CacheDataStructuresManager.queue0(CacheDataStructuresManager.java:270) > at org.apache.ignite.internal.processors.cache.datastructures. > CacheDataStructuresManager.queue(CacheDataStructuresManager.java:231) > at org.apache.ignite.internal.processors.datastructures. > DataStructuresProcessor$12.applyx(DataStructuresProcessor.java:952) > at org.apache.ignite.internal.processors.datastructures. > DataStructuresProcessor$12.applyx(DataStructuresProcessor.java:950) > at org.apache.ignite.internal.processors.datastructures. > DataStructuresProcessor.getCollection(DataStructuresProcessor.java:1078) > at org.apache.ignite.internal.processors.datastructures. > DataStructuresProcessor.queue(DataStructuresProcessor.java:950) > at > org.apache.ignite.internal.IgniteKernal.queue(IgniteKernal.java:3560) > > at > com.veon.ignite.trial.roaming.ProfileService$4.apply(ProfileService.java:303) > > at > com.veon.ignite.trial.roaming.ProfileService$4.apply(ProfileService.java:297) > > at org.apache.ignite.internal.GridEventConsumeHandler$2.onEvent( > GridEventConsumeHandler.java:170) > at org.apache.ignite.internal.managers.eventstorage. > GridEventStorageManager$LocalListenerWrapper.onEvent( > GridEventStorageManager.java:1311) > at org.apache.ignite.internal.managers.eventstorage. > GridEventStorageManager.notifyListeners(GridEventStorageManager.java:892) > at org.apache.ignite.internal.managers.eventstorage. > GridEventStorageManager.record0(GridEventStorageManager.java:340) > at org.apache.ignite.internal.managers.eventstorage. > GridEventStorageManager.record(GridEventStorageManager.java:297) > at org.apache.ignite.internal.processors.cache. > GridCacheEventManager.addEvent(GridCacheEventManager.java:297) > at org.apache.ignite.internal.processors.cache. > GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1806) > - locked <0x00000007b6d01f10> (a org.apache.ignite.internal. > processors.cache.distributed.dht.atomic.GridDhtAtomicCacheEntry) > at org.apache.ignite.internal.processors.cache.distributed. > dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2386) > at org.apache.ignite.internal.processors.cache.distributed. > dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1792) > > at org.apache.ignite.internal.processors.cache.distributed. > dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630) > > at org.apache.ignite.internal.processors.cache.distributed. > dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3016) > > at org.apache.ignite.internal.processors.cache.distributed. > dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:127) > at org.apache.ignite.internal.processors.cache.distributed. > dht.atomic.GridDhtAtomicCache$6.apply(GridDhtAtomicCache.java:282) > at org.apache.ignite.internal.processors.cache.distributed. > dht.atomic.GridDhtAtomicCache$6.apply(GridDhtAtomicCache.java:277) > at org.apache.ignite.internal.processors.cache.GridCacheIoManager. > processMessage(GridCacheIoManager.java:863) > at org.apache.ignite.internal.processors.cache. > GridCacheIoManager.onMessage0(GridCacheIoManager.java:386) > at org.apache.ignite.internal.processors.cache.GridCacheIoManager. > handleMessage(GridCacheIoManager.java:308) > at org.apache.ignite.internal.processors.cache. > GridCacheIoManager.access$000(GridCacheIoManager.java:100) > at org.apache.ignite.internal.processors.cache. > GridCacheIoManager$1.onMessage(GridCacheIoManager.java:253) > at org.apache.ignite.internal.managers.communication. > GridIoManager.invokeListener(GridIoManager.java:1257) > at org.apache.ignite.internal.managers.communication. > GridIoManager.processRegularMessage0(GridIoManager.java:885) > at org.apache.ignite.internal.managers.communication. > GridIoManager.access$2100(GridIoManager.java:114) > at org.apache.ignite.internal.managers.communication. > GridIoManager$7.run(GridIoManager.java:802) > at > org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:483) > > at java.lang.Thread.run(Thread.java:748) > > > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > http://apache-ignite-users.70518.x6.nabble.com/Closures- > stuck-in-2-0-when-try-to-add-an-element-into-the-queue-tp12587.html > To start a new topic under Apache Ignite Users, email > [email protected] > To unsubscribe from Apache Ignite Users, click here > <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=1&code=YWxleGFuZGVyLmZlZG90b2ZmQGdtYWlsLmNvbXwxfC0xMzYxNTU0NTg=> > . > NAML > <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> > -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Closures-stuck-in-2-0-when-try-to-add-an-element-into-the-queue-tp12587p12603.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.
