Ignite service method cannot invoke for third time

2017-12-19 Thread arunkjn
Hi, I am experiencing a weird issue in which I have a Ignite service. I am using this service through service proxy from other server nodes. These is a particular method in the service node which I cannot call for the third time. The call to it stalls there indefinitely and does not invoke the cod

Re: Ignite service method cannot invoke for third time

2017-12-19 Thread dkarachentsev
Hi, Please attach thread dumps from all cluster nodes. Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Ignite service method cannot invoke for third time

2017-12-20 Thread arunkjn
Hi, I am attaching a thread dump for all nodes- 1. data node - this hosts all our caches. https://pastebin.com/XeFdjtgM 2. service node - this has the concerned service whose method cannot be called the third time https://pastebin.com/ukN21R4S 3. sample workflow node - this is a client node w

Re: Ignite service method cannot invoke for third time

2017-12-21 Thread dkarachentsev
Hi, It looks like anonymous EntryProcessor gets excess data in context. Try to make it inner static class and check logs for exceptions on all nodes. Thanks! -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Ignite service method cannot invoke for third time

2017-12-21 Thread arunkjn
Hi Dmitry, Sorry I don't understand what you mean. Do you mean to do this- static EntryProcessor workflowStartProcessor = new EntryProcessor() { @Override public Object process(MutableEntry entry, Object... arguments) throws EntryProcessorException { System.out.pri

Re: Ignite service method cannot invoke for third time

2017-12-21 Thread dkarachentsev
Sure, I meant you need to create your own inner class: private static class WorkflowEntryProcessor extends EntryProcessor { @Override public Object process(MutableEntry entry, Object... arguments) throws EntryProcessorException { System.out.println("EntryProcessor started");

Re: Ignite service method cannot invoke for third time

2017-12-21 Thread arunkjn
Thanks a lot Dmitry. The solution worked fine for me. I had to implement EntryProcessor instead of extending it since it was an interface. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Ignite service method cannot invoke for third time

2017-12-21 Thread dkarachentsev
Glad to hear that it was helpful! I wrote the example just in email, so didn't have a compiler to check it :) Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Ignite service method cannot invoke for third time

2017-12-21 Thread arunkjn
So I have separated these classes into independent classes now and made them non static. This is also working well for me. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Ignite service method cannot invoke for third time

2017-12-21 Thread arunkjn
Hi Dmitry, Sorry this is off the topic but I am a beginner in Java programming. I want to understand why it helped to make EntryProcessor a static inner class. Also want to understand how to analyze thread dumps and what information we can extract from it. If you can point me to some good resource

Re: Ignite service method cannot invoke for third time

2017-12-26 Thread dkarachentsev
Hi, Anonymous and inner classes have link to outer class object and might bring it to marshaller. When you set it inner static or separate class you're explicitly saying that you don't need such links. In thread dumps you need to lookup for waiting or blocked threads. In your case in service node