You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Matt Warner <ma...@warnertechnology.com> on 2017/02/20 17:35:27 UTC

getOrCreateCache hang

I'm experiencing Ignite client hangs when calling getOrCreateCache when both
are starting simultaneously. The stack trace shows the clients are hung in
the getOrCreateCache method, which is why I'm focusing here.

This seems like a deadlock when both clients are trying to simultaneously
call getOrCreateCache.

The setup is a vanilla Ignite installation running (./bin/ignite.sh) and two
clients (IgniteConfiguration setClientMode(true)). Both go through the same
setup, albeit in separate jar files (and separate PIDs):

		TcpDiscoverySpi spi = new TcpDiscoverySpi();
		TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
		ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
		spi.setIpFinder(ipFinder);
		IgniteConfiguration cfg = new IgniteConfiguration();
		cfg.setDiscoverySpi(spi);
		cfg.setClientMode(true);
		try (Ignite ignite = Ignition.start(cfg)) {
			CacheConfiguration<> cacheCfg = new CacheConfiguration<>(CACHE_NAME);
			cacheCfg.setAtomicityMode(ATOMIC);
			cacheCfg.setReadThrough(true);
			cacheCfg.setWriteThrough(true);
			cacheCfg.setWriteBehindEnabled(false);
			cache = ignite.getOrCreateCache(cacheCfg);  <-- Hangs here
			//
		}

"main" #1 prio=5 os_prio=31 tid=0x00007fdd01009800 nid=0xc07 waiting on
condition [0x0000700000218000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000007964b0e58> (a
org.apache.ignite.internal.processors.cache.GridCacheProcessor$DynamicCacheStartFuture)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
	at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
	at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
	at
org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:160)
	at
org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:118)
	at
org.apache.ignite.internal.IgniteKernal.getOrCreateCache(IgniteKernal.java:2586)


My apologies in advance if this is a well-known problem. I've been searching
and am stumped.

Thanks!



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
Yes, the jar files contain the classes. You should be able to see this in the jar files created by the maven project I sent. 

> On Feb 22, 2017, at 5:45 AM, Nikolai Tikhonov <nt...@apache.org> wrote:
> 
> Also are you sure that jar files from testIgnite1 and testIgnite2 projects (which deployed into libs dir) contain needed classes? Might be you have a build issue?
> 
>> On Wed, Feb 22, 2017 at 4:43 PM, Nikolai Tikhonov <nt...@apache.org> wrote:
>> Could you try start to server from java code and look at results?
>> 
>> Thanks,
>> Nikolay
>> 
>>> On Wed, Feb 22, 2017 at 4:36 PM, Matt Warner <ma...@warnertechnology.com> wrote:
>>> I am using the default configuration for the server and starting it with ignite.sh.
>>> 
>>> Yes, the Store classes are being deployed into the Ignite libs directory as well as part of the both testIgnite1 and testIgnite2.
>>> 
>>> I feel like I'm missing something?
>>> 
>>> Matt
>>> 
>>>> On Wed, Feb 22, 2017 at 4:50 AM, Nikolai Tikhonov-2 [via Apache Ignite Users] <[hidden email]> wrote:
>>>> Hi Matt!
>>>> 
>>>> I've run your test and didn't faced with the issue. I used the following code for start server node (placed in your project):
>>>> 
>>>> public class Server {
>>>>    public static void main(String[] args) throws Exception {
>>>>       TcpDiscoverySpi spi = new TcpDiscoverySpi();
>>>>       TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
>>>>       ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
>>>>       spi.setIpFinder(ipFinder);
>>>>       IgniteConfiguration cfg = new IgniteConfiguration();
>>>>       cfg.setDiscoverySpi(spi);
>>>> 
>>>>       Ignition.start(cfg);
>>>>    }
>>>> }
>>>> Which configuration you used for start server node? For your case you should deploy Store classes on all nodes in cluster.
>>>> 
>>>> Thanks,
>>>> Nikolay
>>>> 
>>>>> On Wed, Feb 22, 2017 at 1:27 AM, Matt Warner <[hidden email]> wrote:
>>>>> There were some coding errors in the previous attachment. The previous code
>>>>> still illustrates the deadlock, but the attached correctly stores data in
>>>>> tables.
>>>>> 
>>>>> I've also included the test input file, for completeness. testCode.gz
>>>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n10770/testCode.gz>
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10770.html
>>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>> 
>>>> 
>>>> 
>>>> If you reply to this email, your message will be added to the discussion below:
>>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10795.html
>>>> To unsubscribe from getOrCreateCache hang, click here.
>>>> NAML
>>> 
>>> 
>>> View this message in context: Re: getOrCreateCache hang
>>> 
>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>> 
> 

Re: getOrCreateCache hang

Posted by Nikolai Tikhonov <nt...@apache.org>.
Also are you sure that jar files from testIgnite1 and testIgnite2 projects
(which deployed into libs dir) contain needed classes? Might be you have a
build issue?

On Wed, Feb 22, 2017 at 4:43 PM, Nikolai Tikhonov <nt...@apache.org>
wrote:

> Could you try start to server from java code and look at results?
>
> Thanks,
> Nikolay
>
> On Wed, Feb 22, 2017 at 4:36 PM, Matt Warner <ma...@warnertechnology.com>
> wrote:
>
>> I am using the default configuration for the server and starting it with
>> ignite.sh.
>>
>> Yes, the Store classes are being deployed into the Ignite libs directory
>> as well as part of the both testIgnite1 and testIgnite2.
>>
>> I feel like I'm missing something?
>>
>> Matt
>>
>> On Wed, Feb 22, 2017 at 4:50 AM, Nikolai Tikhonov-2 [via Apache Ignite
>> Users] <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=10798&i=0>> wrote:
>>
>>> Hi Matt!
>>>
>>> I've run your test and didn't faced with the issue. I used the following
>>> code for start server node (placed in your project):
>>>
>>> public class Server {
>>>    public static void main(String[] args) throws Exception {
>>>       TcpDiscoverySpi spi = new TcpDiscoverySpi();
>>>       TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
>>>       ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
>>>       spi.setIpFinder(ipFinder);
>>>       IgniteConfiguration cfg = new IgniteConfiguration();
>>>       cfg.setDiscoverySpi(spi);
>>>
>>>       Ignition.start(cfg);
>>>    }
>>> }
>>>
>>> Which configuration you used for start server node? For your case you
>>> should deploy Store classes on all nodes in cluster.
>>>
>>> Thanks,
>>> Nikolay
>>>
>>> On Wed, Feb 22, 2017 at 1:27 AM, Matt Warner <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=10795&i=0>> wrote:
>>>
>>>> There were some coding errors in the previous attachment. The previous
>>>> code
>>>> still illustrates the deadlock, but the attached correctly stores data
>>>> in
>>>> tables.
>>>>
>>>> I've also included the test input file, for completeness. testCode.gz
>>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n10770/testCode.gz
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context: http://apache-ignite-users.705
>>>> 18.x6.nabble.com/getOrCreateCache-hang-tp10737p10770.html
>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>>
>>> ------------------------------
>>> If you reply to this email, your message will be added to the discussion
>>> below:
>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCa
>>> che-hang-tp10737p10795.html
>>> To unsubscribe from getOrCreateCache hang, click here.
>>> 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: Re: getOrCreateCache hang
>> <http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10798.html>
>>
>> Sent from the Apache Ignite Users mailing list archive
>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>
>
>

Re: getOrCreateCache hang

Posted by bintisepaha <bi...@tudor.com>.
Matt, I have not tried your code (not a committer to the community), but what
happens when you use Ignite.cache(), if the cache was already created on
server startup.



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p11065.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by vkulichenko <va...@gmail.com>.
Hi Matt,

First of all, this is a community forum and it's not a place for
disappointment :) Nikolai is not obligated to help and I'm sure he is trying
his best when doing this.

I managed to reproduce the hang though. It happens simply because you have
two projects (why?) that don't share classes. In particular, when
testIgnite1 starts the cache, it provides its own store factory that doesn't
exist in testIgnite2, thus the failure. Actually, if you switch off quiet
mode (set -DIGNITE_QUIET=false), you will see ClassNotFoundException right
away. Such classes should be shared across all nodes in topology. If I start
two nodes from the same project, it works fine.

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p11097.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
Nikolai, I feel disappointed with how this email chain seems to be going. I
spent time and effort to assemble sample code that exhibits the problem
consistently only to hear that it doesn't seem like you're even using that
code. That leaves me wondering what you were actually testing, when you
told me you couldn't reproduce this. It does not sound like you were using
the code I supplied.

I also sent thread dumps and logs early on in this process, and the current
thread dumps show the same as before—getOrCreateCache.

This problem does seem tied to the CacheJdbcStoreSessionListener data
source, but I've so far been unable to pin it down beyond that. No doubt
it's something simple I'm doing wrong, but whatever it is still eludes me.

Matt

On Tue, Feb 28, 2017 at 2:14 AM, Nikolai Tikhonov <nt...@apache.org>
wrote:

> I am not able reproduce exactly your test (do not have Postgre instance),
>  but I do not get hangs on start caches. I suppose that issue related with
> your setup and for getting cause of problem I need full logs and thread
> dumps (by kill -3 PID or jstack) from all nodes. Could you please provide
> this data?
>
> On Mon, Feb 27, 2017 at 10:36 PM, Matt Warner <ma...@warnertechnology.com>
> wrote:
>
>> Something's not right. I'm seeing this as 100% reproducible on two
>> different OSes.
>>
>> Are you running "mvn package" on both testIgnite1 and testIgnite2 and
>> then starting the shaded JARs simultaneously from two different shell
>> windows using "java-jar ignite?...-standalone.jar"?
>>
>> Matt
>>
>> On Feb 27, 2017, at 8:58 AM, Nikolai Tikhonov <nt...@apache.org>
>> wrote:
>>
>> I was not able reproduce it. Could you share full logs and thread dumps
>> from all nodes?
>>
>> On Mon, Feb 27, 2017 at 7:45 PM, Matt Warner <ma...@warnertechnology.com>
>> wrote:
>>
>>> Using the test code I sent previously, I changed the ports to be a range
>>> but both clients still deadlock on getOrCreateCache.
>>>
>>> Are you able to reproduce this using the test code I sent?
>>>
>>> Matt
>>>
>>>
>>> On Mon, Feb 27, 2017 at 3:02 AM, Nikolai Tikhonov <nt...@apache.org>
>>> wrote:
>>>
>>>> Hi Matt!
>>>>
>>>> Try to change ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500")); to
>>>> ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500..47505"));
>>>>
>>>> On Fri, Feb 24, 2017 at 4:00 PM, Matt Warner <matt@warnertechnology.com
>>>> > wrote:
>>>>
>>>>> Hi Nikolai.
>>>>>
>>>>> I discovered the reason the two applications weren't seeing each other
>>>>> was resolved by adding an explicit port number (Arrays.asList("
>>>>> 127.0.0.1:47500")). However, the two still deadlock when running
>>>>> concurrently.
>>>>>
>>>>> The latest test shows one application blocked in getOrCreateCache, the
>>>>> other blocked in Ignition.start. As soon as I kill the process stuck in
>>>>> Iginition.start the other process continues successfully. I've attached the
>>>>> latest test code.
>>>>>
>>>>> Any ideas?
>>>>>
>>>>> Matt
>>>>>
>>>>> On Wed, Feb 22, 2017 at 10:30 AM, Matt Warner [via Apache Ignite
>>>>> Users] <[hidden email]
>>>>> <http:///user/SendEmail.jtp?type=node&node=10866&i=0>> wrote:
>>>>>
>>>>>> One other observation: with the third application acting as just the
>>>>>> server, and just one of the clients running, there is no issue. Only when
>>>>>> there are multiple clients do I get the deadlock on getOrCreateCache.
>>>>>>
>>>>>> Matt
>>>>>>
>>>>>> ------------------------------
>>>>>> If you reply to this email, your message will be added to the
>>>>>> discussion below:
>>>>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCa
>>>>>> che-hang-tp10737p10811.html
>>>>>> To unsubscribe from getOrCreateCache hang, click here.
>>>>>> 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>
>>>>>>
>>>>>
>>>>>
>>>>> *testIgnite.tar.gz* (14K) Download Attachment
>>>>> <http://apache-ignite-users.70518.x6.nabble.com/attachment/10866/0/testIgnite.tar.gz>
>>>>>
>>>>> ------------------------------
>>>>> View this message in context: Re: getOrCreateCache hang
>>>>> <http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10866.html>
>>>>>
>>>>> Sent from the Apache Ignite Users mailing list archive
>>>>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>>>>
>>>>
>>>>
>>>
>>
>

Re: getOrCreateCache hang

Posted by Nikolai Tikhonov <nt...@apache.org>.
I am not able reproduce exactly your test (do not have Postgre instance),
 but I do not get hangs on start caches. I suppose that issue related with
your setup and for getting cause of problem I need full logs and thread
dumps (by kill -3 PID or jstack) from all nodes. Could you please provide
this data?

On Mon, Feb 27, 2017 at 10:36 PM, Matt Warner <ma...@warnertechnology.com>
wrote:

> Something's not right. I'm seeing this as 100% reproducible on two
> different OSes.
>
> Are you running "mvn package" on both testIgnite1 and testIgnite2 and then
> starting the shaded JARs simultaneously from two different shell windows
> using "java-jar ignite?...-standalone.jar"?
>
> Matt
>
> On Feb 27, 2017, at 8:58 AM, Nikolai Tikhonov <nt...@apache.org>
> wrote:
>
> I was not able reproduce it. Could you share full logs and thread dumps
> from all nodes?
>
> On Mon, Feb 27, 2017 at 7:45 PM, Matt Warner <ma...@warnertechnology.com>
> wrote:
>
>> Using the test code I sent previously, I changed the ports to be a range
>> but both clients still deadlock on getOrCreateCache.
>>
>> Are you able to reproduce this using the test code I sent?
>>
>> Matt
>>
>>
>> On Mon, Feb 27, 2017 at 3:02 AM, Nikolai Tikhonov <nt...@apache.org>
>> wrote:
>>
>>> Hi Matt!
>>>
>>> Try to change ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500")); to
>>> ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500..47505"));
>>>
>>> On Fri, Feb 24, 2017 at 4:00 PM, Matt Warner <ma...@warnertechnology.com>
>>> wrote:
>>>
>>>> Hi Nikolai.
>>>>
>>>> I discovered the reason the two applications weren't seeing each other
>>>> was resolved by adding an explicit port number (Arrays.asList("
>>>> 127.0.0.1:47500")). However, the two still deadlock when running
>>>> concurrently.
>>>>
>>>> The latest test shows one application blocked in getOrCreateCache, the
>>>> other blocked in Ignition.start. As soon as I kill the process stuck in
>>>> Iginition.start the other process continues successfully. I've attached the
>>>> latest test code.
>>>>
>>>> Any ideas?
>>>>
>>>> Matt
>>>>
>>>> On Wed, Feb 22, 2017 at 10:30 AM, Matt Warner [via Apache Ignite Users]
>>>> <[hidden email] <http:///user/SendEmail.jtp?type=node&node=10866&i=0>>
>>>> wrote:
>>>>
>>>>> One other observation: with the third application acting as just the
>>>>> server, and just one of the clients running, there is no issue. Only when
>>>>> there are multiple clients do I get the deadlock on getOrCreateCache.
>>>>>
>>>>> Matt
>>>>>
>>>>> ------------------------------
>>>>> If you reply to this email, your message will be added to the
>>>>> discussion below:
>>>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCa
>>>>> che-hang-tp10737p10811.html
>>>>> To unsubscribe from getOrCreateCache hang, click here.
>>>>> 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>
>>>>>
>>>>
>>>>
>>>> *testIgnite.tar.gz* (14K) Download Attachment
>>>> <http://apache-ignite-users.70518.x6.nabble.com/attachment/10866/0/testIgnite.tar.gz>
>>>>
>>>> ------------------------------
>>>> View this message in context: Re: getOrCreateCache hang
>>>> <http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10866.html>
>>>>
>>>> Sent from the Apache Ignite Users mailing list archive
>>>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>>>
>>>
>>>
>>
>

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
Something's not right. I'm seeing this as 100% reproducible on two different OSes. 

Are you running "mvn package" on both testIgnite1 and testIgnite2 and then starting the shaded JARs simultaneously from two different shell windows using "java-jar ignite?...-standalone.jar"?

Matt

> On Feb 27, 2017, at 8:58 AM, Nikolai Tikhonov <nt...@apache.org> wrote:
> 
> I was not able reproduce it. Could you share full logs and thread dumps from all nodes?
> 
>> On Mon, Feb 27, 2017 at 7:45 PM, Matt Warner <ma...@warnertechnology.com> wrote:
>> Using the test code I sent previously, I changed the ports to be a range but both clients still deadlock on getOrCreateCache.
>> 
>> Are you able to reproduce this using the test code I sent?
>> 
>> Matt
>> 
>> 
>>> On Mon, Feb 27, 2017 at 3:02 AM, Nikolai Tikhonov <nt...@apache.org> wrote:
>>> Hi Matt!
>>> 
>>> Try to change ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500")); to ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500..47505"));
>>> 
>>>> On Fri, Feb 24, 2017 at 4:00 PM, Matt Warner <ma...@warnertechnology.com> wrote:
>>>> Hi Nikolai.
>>>> 
>>>> I discovered the reason the two applications weren't seeing each other was resolved by adding an explicit port number (Arrays.asList("127.0.0.1:47500")). However, the two still deadlock when running concurrently.
>>>> 
>>>> The latest test shows one application blocked in getOrCreateCache, the other blocked in Ignition.start. As soon as I kill the process stuck in Iginition.start the other process continues successfully. I've attached the latest test code.
>>>> 
>>>> Any ideas?
>>>> 
>>>> Matt
>>>> 
>>>>> On Wed, Feb 22, 2017 at 10:30 AM, Matt Warner [via Apache Ignite Users] <[hidden email]> wrote:
>>>>> One other observation: with the third application acting as just the server, and just one of the clients running, there is no issue. Only when there are multiple clients do I get the deadlock on getOrCreateCache. 
>>>>> 
>>>>> Matt 
>>>>> 
>>>>> If you reply to this email, your message will be added to the discussion below:
>>>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10811.html
>>>>> To unsubscribe from getOrCreateCache hang, click here.
>>>>> NAML
>>>> 
>>>> 
>>>>  testIgnite.tar.gz (14K) Download Attachment
>>>> 
>>>> View this message in context: Re: getOrCreateCache hang
>>>> 
>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>> 
>> 
> 

Re: getOrCreateCache hang

Posted by Nikolai Tikhonov <nt...@apache.org>.
I was not able reproduce it. Could you share full logs and thread dumps
from all nodes?

On Mon, Feb 27, 2017 at 7:45 PM, Matt Warner <ma...@warnertechnology.com>
wrote:

> Using the test code I sent previously, I changed the ports to be a range
> but both clients still deadlock on getOrCreateCache.
>
> Are you able to reproduce this using the test code I sent?
>
> Matt
>
>
> On Mon, Feb 27, 2017 at 3:02 AM, Nikolai Tikhonov <nt...@apache.org>
> wrote:
>
>> Hi Matt!
>>
>> Try to change ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500")); to
>> ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500..47505"));
>>
>> On Fri, Feb 24, 2017 at 4:00 PM, Matt Warner <ma...@warnertechnology.com>
>> wrote:
>>
>>> Hi Nikolai.
>>>
>>> I discovered the reason the two applications weren't seeing each other
>>> was resolved by adding an explicit port number (Arrays.asList("
>>> 127.0.0.1:47500")). However, the two still deadlock when running
>>> concurrently.
>>>
>>> The latest test shows one application blocked in getOrCreateCache, the
>>> other blocked in Ignition.start. As soon as I kill the process stuck in
>>> Iginition.start the other process continues successfully. I've attached the
>>> latest test code.
>>>
>>> Any ideas?
>>>
>>> Matt
>>>
>>> On Wed, Feb 22, 2017 at 10:30 AM, Matt Warner [via Apache Ignite Users]
>>> <[hidden email] <http:///user/SendEmail.jtp?type=node&node=10866&i=0>>
>>> wrote:
>>>
>>>> One other observation: with the third application acting as just the
>>>> server, and just one of the clients running, there is no issue. Only when
>>>> there are multiple clients do I get the deadlock on getOrCreateCache.
>>>>
>>>> Matt
>>>>
>>>> ------------------------------
>>>> If you reply to this email, your message will be added to the
>>>> discussion below:
>>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCa
>>>> che-hang-tp10737p10811.html
>>>> To unsubscribe from getOrCreateCache hang, click here.
>>>> 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>
>>>>
>>>
>>>
>>> *testIgnite.tar.gz* (14K) Download Attachment
>>> <http://apache-ignite-users.70518.x6.nabble.com/attachment/10866/0/testIgnite.tar.gz>
>>>
>>> ------------------------------
>>> View this message in context: Re: getOrCreateCache hang
>>> <http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10866.html>
>>>
>>> Sent from the Apache Ignite Users mailing list archive
>>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>>
>>
>>
>

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
Using the test code I sent previously, I changed the ports to be a range
but both clients still deadlock on getOrCreateCache.

Are you able to reproduce this using the test code I sent?

Matt

On Mon, Feb 27, 2017 at 3:02 AM, Nikolai Tikhonov <nt...@apache.org>
wrote:

> Hi Matt!
>
> Try to change ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500")); to
> ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500..47505"));
>
> On Fri, Feb 24, 2017 at 4:00 PM, Matt Warner <ma...@warnertechnology.com>
> wrote:
>
>> Hi Nikolai.
>>
>> I discovered the reason the two applications weren't seeing each other
>> was resolved by adding an explicit port number (Arrays.asList("
>> 127.0.0.1:47500")). However, the two still deadlock when running
>> concurrently.
>>
>> The latest test shows one application blocked in getOrCreateCache, the
>> other blocked in Ignition.start. As soon as I kill the process stuck in
>> Iginition.start the other process continues successfully. I've attached the
>> latest test code.
>>
>> Any ideas?
>>
>> Matt
>>
>> On Wed, Feb 22, 2017 at 10:30 AM, Matt Warner [via Apache Ignite Users] <[hidden
>> email] <http:///user/SendEmail.jtp?type=node&node=10866&i=0>> wrote:
>>
>>> One other observation: with the third application acting as just the
>>> server, and just one of the clients running, there is no issue. Only when
>>> there are multiple clients do I get the deadlock on getOrCreateCache.
>>>
>>> Matt
>>>
>>> ------------------------------
>>> If you reply to this email, your message will be added to the discussion
>>> below:
>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCa
>>> che-hang-tp10737p10811.html
>>> To unsubscribe from getOrCreateCache hang, click here.
>>> 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>
>>>
>>
>>
>> *testIgnite.tar.gz* (14K) Download Attachment
>> <http://apache-ignite-users.70518.x6.nabble.com/attachment/10866/0/testIgnite.tar.gz>
>>
>> ------------------------------
>> View this message in context: Re: getOrCreateCache hang
>> <http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10866.html>
>>
>> Sent from the Apache Ignite Users mailing list archive
>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>
>
>

Re: getOrCreateCache hang

Posted by Nikolai Tikhonov <nt...@apache.org>.
Hi Matt!

Try to change ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500")); to
ipFinder.setAddresses(Arrays.asList("127.0.0.1:47500..47505"));

On Fri, Feb 24, 2017 at 4:00 PM, Matt Warner <ma...@warnertechnology.com>
wrote:

> Hi Nikolai.
>
> I discovered the reason the two applications weren't seeing each other was
> resolved by adding an explicit port number (Arrays.asList("127.0.0.1:47500")).
> However, the two still deadlock when running concurrently.
>
> The latest test shows one application blocked in getOrCreateCache, the
> other blocked in Ignition.start. As soon as I kill the process stuck in
> Iginition.start the other process continues successfully. I've attached the
> latest test code.
>
> Any ideas?
>
> Matt
>
> On Wed, Feb 22, 2017 at 10:30 AM, Matt Warner [via Apache Ignite Users] <[hidden
> email] <http:///user/SendEmail.jtp?type=node&node=10866&i=0>> wrote:
>
>> One other observation: with the third application acting as just the
>> server, and just one of the clients running, there is no issue. Only when
>> there are multiple clients do I get the deadlock on getOrCreateCache.
>>
>> Matt
>>
>> ------------------------------
>> If you reply to this email, your message will be added to the discussion
>> below:
>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCa
>> che-hang-tp10737p10811.html
>> To unsubscribe from getOrCreateCache hang, click here.
>> 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>
>>
>
>
> *testIgnite.tar.gz* (14K) Download Attachment
> <http://apache-ignite-users.70518.x6.nabble.com/attachment/10866/0/testIgnite.tar.gz>
>
> ------------------------------
> View this message in context: Re: getOrCreateCache hang
> <http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10866.html>
>
> Sent from the Apache Ignite Users mailing list archive
> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
Hi Nikolai.

I discovered the reason the two applications weren't seeing each other was
resolved by adding an explicit port number (Arrays.asList("127.0.0.1:47500")).
However, the two still deadlock when running concurrently.

The latest test shows one application blocked in getOrCreateCache, the
other blocked in Ignition.start. As soon as I kill the process stuck in
Iginition.start the other process continues successfully. I've attached the
latest test code.

Any ideas?

Matt

On Wed, Feb 22, 2017 at 10:30 AM, Matt Warner [via Apache Ignite Users] <
ml-node+s70518n10811h86@n6.nabble.com> wrote:

> One other observation: with the third application acting as just the
> server, and just one of the clients running, there is no issue. Only when
> there are multiple clients do I get the deadlock on getOrCreateCache.
>
> Matt
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-
> tp10737p10811.html
> To unsubscribe from getOrCreateCache hang, click here
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=10737&code=bWF0dEB3YXJuZXJ0ZWNobm9sb2d5LmNvbXwxMDczN3wxNDczMjA0NTQy>
> .
> 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>
>


testIgnite.tar.gz (14K) <http://apache-ignite-users.70518.x6.nabble.com/attachment/10866/0/testIgnite.tar.gz>




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10866.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
One other observation: with the third application acting as just the server,
and just one of the clients running, there is no issue. Only when there are
multiple clients do I get the deadlock on getOrCreateCache.

Matt



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10811.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
I tried three different scenarios:

In the first, I updated both test projects to act as servers (setClientMode
is commented out), but the two nodes do not seem to see each other and it
results in conflicting primary keys at the database level, leading to
errors.

Second, I setClientMode on just one of the two test applications, and the
stack trace shows the client deadlocks in getOrCreateCache, as before. The
server completes without issue.

The final test I created a third application that just starts Ignite with
the code you sent, and I made sure it included the jar files from the other
two clients so it had all the classes. The other two applications are
clients (setClientMode(true)). I started this third server class and then
started the two clients. The clients both deadlock as before in
getOrCreateCache.

I'm attaching the maven test projects.

I'm very surprised that you're not seeing this with the test code I'm
sending when I'm seeing 100% reproducibility. I think I must be missing
something very basic...?

Matt

On Wed, Feb 22, 2017 at 6:21 AM, Matt Warner <ma...@warnertechnology.com>
wrote:

> I will try this in about 2 hours and let you know.
>
> On Feb 22, 2017, at 5:43 AM, Nikolai Tikhonov <nt...@apache.org>
> wrote:
>
> Could you try start to server from java code and look at results?
>
> Thanks,
> Nikolay
>
> On Wed, Feb 22, 2017 at 4:36 PM, Matt Warner <ma...@warnertechnology.com>
> wrote:
>
>> I am using the default configuration for the server and starting it with
>> ignite.sh.
>>
>> Yes, the Store classes are being deployed into the Ignite libs directory
>> as well as part of the both testIgnite1 and testIgnite2.
>>
>> I feel like I'm missing something?
>>
>> Matt
>>
>> On Wed, Feb 22, 2017 at 4:50 AM, Nikolai Tikhonov-2 [via Apache Ignite
>> Users] <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=10798&i=0>> wrote:
>>
>>> Hi Matt!
>>>
>>> I've run your test and didn't faced with the issue. I used the following
>>> code for start server node (placed in your project):
>>>
>>> public class Server {
>>>    public static void main(String[] args) throws Exception {
>>>       TcpDiscoverySpi spi = new TcpDiscoverySpi();
>>>       TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
>>>       ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
>>>       spi.setIpFinder(ipFinder);
>>>       IgniteConfiguration cfg = new IgniteConfiguration();
>>>       cfg.setDiscoverySpi(spi);
>>>
>>>       Ignition.start(cfg);
>>>    }
>>> }
>>>
>>> Which configuration you used for start server node? For your case you
>>> should deploy Store classes on all nodes in cluster.
>>>
>>> Thanks,
>>> Nikolay
>>>
>>> On Wed, Feb 22, 2017 at 1:27 AM, Matt Warner <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=10795&i=0>> wrote:
>>>
>>>> There were some coding errors in the previous attachment. The previous
>>>> code
>>>> still illustrates the deadlock, but the attached correctly stores data
>>>> in
>>>> tables.
>>>>
>>>> I've also included the test input file, for completeness. testCode.gz
>>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n10770/testCode.gz
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context: http://apache-ignite-users.705
>>>> 18.x6.nabble.com/getOrCreateCache-hang-tp10737p10770.html
>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>>
>>> ------------------------------
>>> If you reply to this email, your message will be added to the discussion
>>> below:
>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCa
>>> che-hang-tp10737p10795.html
>>> To unsubscribe from getOrCreateCache hang, click here.
>>> 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: Re: getOrCreateCache hang
>> <http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10798.html>
>>
>> Sent from the Apache Ignite Users mailing list archive
>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>
>
>

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
I will try this in about 2 hours and let you know. 

> On Feb 22, 2017, at 5:43 AM, Nikolai Tikhonov <nt...@apache.org> wrote:
> 
> Could you try start to server from java code and look at results?
> 
> Thanks,
> Nikolay
> 
>> On Wed, Feb 22, 2017 at 4:36 PM, Matt Warner <ma...@warnertechnology.com> wrote:
>> I am using the default configuration for the server and starting it with ignite.sh.
>> 
>> Yes, the Store classes are being deployed into the Ignite libs directory as well as part of the both testIgnite1 and testIgnite2.
>> 
>> I feel like I'm missing something?
>> 
>> Matt
>> 
>>> On Wed, Feb 22, 2017 at 4:50 AM, Nikolai Tikhonov-2 [via Apache Ignite Users] <[hidden email]> wrote:
>>> Hi Matt!
>>> 
>>> I've run your test and didn't faced with the issue. I used the following code for start server node (placed in your project):
>>> 
>>> public class Server {
>>>    public static void main(String[] args) throws Exception {
>>>       TcpDiscoverySpi spi = new TcpDiscoverySpi();
>>>       TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
>>>       ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
>>>       spi.setIpFinder(ipFinder);
>>>       IgniteConfiguration cfg = new IgniteConfiguration();
>>>       cfg.setDiscoverySpi(spi);
>>> 
>>>       Ignition.start(cfg);
>>>    }
>>> }
>>> Which configuration you used for start server node? For your case you should deploy Store classes on all nodes in cluster.
>>> 
>>> Thanks,
>>> Nikolay
>>> 
>>>> On Wed, Feb 22, 2017 at 1:27 AM, Matt Warner <[hidden email]> wrote:
>>>> There were some coding errors in the previous attachment. The previous code
>>>> still illustrates the deadlock, but the attached correctly stores data in
>>>> tables.
>>>> 
>>>> I've also included the test input file, for completeness. testCode.gz
>>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n10770/testCode.gz>
>>>> 
>>>> 
>>>> 
>>>> --
>>>> View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10770.html
>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>> 
>>> 
>>> 
>>> If you reply to this email, your message will be added to the discussion below:
>>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10795.html
>>> To unsubscribe from getOrCreateCache hang, click here.
>>> NAML
>> 
>> 
>> View this message in context: Re: getOrCreateCache hang
>> 
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
> 

Re: getOrCreateCache hang

Posted by Nikolai Tikhonov <nt...@apache.org>.
Could you try start to server from java code and look at results?

Thanks,
Nikolay

On Wed, Feb 22, 2017 at 4:36 PM, Matt Warner <ma...@warnertechnology.com>
wrote:

> I am using the default configuration for the server and starting it with
> ignite.sh.
>
> Yes, the Store classes are being deployed into the Ignite libs directory
> as well as part of the both testIgnite1 and testIgnite2.
>
> I feel like I'm missing something?
>
> Matt
>
> On Wed, Feb 22, 2017 at 4:50 AM, Nikolai Tikhonov-2 [via Apache Ignite
> Users] <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=10798&i=0>> wrote:
>
>> Hi Matt!
>>
>> I've run your test and didn't faced with the issue. I used the following
>> code for start server node (placed in your project):
>>
>> public class Server {
>>    public static void main(String[] args) throws Exception {
>>       TcpDiscoverySpi spi = new TcpDiscoverySpi();
>>       TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
>>       ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
>>       spi.setIpFinder(ipFinder);
>>       IgniteConfiguration cfg = new IgniteConfiguration();
>>       cfg.setDiscoverySpi(spi);
>>
>>       Ignition.start(cfg);
>>    }
>> }
>>
>> Which configuration you used for start server node? For your case you
>> should deploy Store classes on all nodes in cluster.
>>
>> Thanks,
>> Nikolay
>>
>> On Wed, Feb 22, 2017 at 1:27 AM, Matt Warner <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=10795&i=0>> wrote:
>>
>>> There were some coding errors in the previous attachment. The previous
>>> code
>>> still illustrates the deadlock, but the attached correctly stores data in
>>> tables.
>>>
>>> I've also included the test input file, for completeness. testCode.gz
>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n10770/testCode.gz>
>>>
>>>
>>>
>>> --
>>> View this message in context: http://apache-ignite-users.705
>>> 18.x6.nabble.com/getOrCreateCache-hang-tp10737p10770.html
>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>
>>
>>
>>
>> ------------------------------
>> If you reply to this email, your message will be added to the discussion
>> below:
>> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCa
>> che-hang-tp10737p10795.html
>> To unsubscribe from getOrCreateCache hang, click here.
>> 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: Re: getOrCreateCache hang
> <http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10798.html>
>
> Sent from the Apache Ignite Users mailing list archive
> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
I am using the default configuration for the server and starting it with
ignite.sh.

Yes, the Store classes are being deployed into the Ignite libs directory as
well as part of the both testIgnite1 and testIgnite2.

I feel like I'm missing something?

Matt

On Wed, Feb 22, 2017 at 4:50 AM, Nikolai Tikhonov-2 [via Apache Ignite
Users] <ml...@n6.nabble.com> wrote:

> Hi Matt!
>
> I've run your test and didn't faced with the issue. I used the following
> code for start server node (placed in your project):
>
> public class Server {
>    public static void main(String[] args) throws Exception {
>       TcpDiscoverySpi spi = new TcpDiscoverySpi();
>       TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
>       ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
>       spi.setIpFinder(ipFinder);
>       IgniteConfiguration cfg = new IgniteConfiguration();
>       cfg.setDiscoverySpi(spi);
>
>       Ignition.start(cfg);
>    }
> }
>
> Which configuration you used for start server node? For your case you
> should deploy Store classes on all nodes in cluster.
>
> Thanks,
> Nikolay
>
> On Wed, Feb 22, 2017 at 1:27 AM, Matt Warner <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=10795&i=0>> wrote:
>
>> There were some coding errors in the previous attachment. The previous
>> code
>> still illustrates the deadlock, but the attached correctly stores data in
>> tables.
>>
>> I've also included the test input file, for completeness. testCode.gz
>> <http://apache-ignite-users.70518.x6.nabble.com/file/n10770/testCode.gz>
>>
>>
>>
>> --
>> View this message in context: http://apache-ignite-users.705
>> 18.x6.nabble.com/getOrCreateCache-hang-tp10737p10770.html
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>
>
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-
> tp10737p10795.html
> To unsubscribe from getOrCreateCache hang, click here
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=10737&code=bWF0dEB3YXJuZXJ0ZWNobm9sb2d5LmNvbXwxMDczN3wxNDczMjA0NTQy>
> .
> 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/getOrCreateCache-hang-tp10737p10798.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by Nikolai Tikhonov <nt...@apache.org>.
Hi Matt!

I've run your test and didn't faced with the issue. I used the following
code for start server node (placed in your project):

public class Server {
   public static void main(String[] args) throws Exception {
      TcpDiscoverySpi spi = new TcpDiscoverySpi();
      TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
      ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
      spi.setIpFinder(ipFinder);
      IgniteConfiguration cfg = new IgniteConfiguration();
      cfg.setDiscoverySpi(spi);

      Ignition.start(cfg);
   }
}

Which configuration you used for start server node? For your case you
should deploy Store classes on all nodes in cluster.

Thanks,
Nikolay

On Wed, Feb 22, 2017 at 1:27 AM, Matt Warner <ma...@warnertechnology.com>
wrote:

> There were some coding errors in the previous attachment. The previous code
> still illustrates the deadlock, but the attached correctly stores data in
> tables.
>
> I've also included the test input file, for completeness. testCode.gz
> <http://apache-ignite-users.70518.x6.nabble.com/file/n10770/testCode.gz>
>
>
>
> --
> View this message in context: http://apache-ignite-users.
> 70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10770.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
There were some coding errors in the previous attachment. The previous code
still illustrates the deadlock, but the attached correctly stores data in
tables.

I've also included the test input file, for completeness. testCode.gz
<http://apache-ignite-users.70518.x6.nabble.com/file/n10770/testCode.gz>  



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10770.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
There is only one Ignite server in my testing and two clients.



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10769.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by Matt Warner <ma...@warnertechnology.com>.
Attached is a file containing the outputs (stack trace, Ignite log) and two
Maven test files.  test+output.gz
<http://apache-ignite-users.70518.x6.nabble.com/file/n10768/test%2Boutput.gz>  

I'm hoping you can tell me I'm just doing something silly to provoke this...

Thanks!

Matt



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/getOrCreateCache-hang-tp10737p10768.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: getOrCreateCache hang

Posted by Nikolai Tikhonov <nt...@apache.org>.
Hi,

Could you share logs and thread dumps from all nodes from cluster?
If you can create and share a maven project which reproduce your problem
then it would be great!

Thanks,
Nikolay

On Mon, Feb 20, 2017 at 8:35 PM, Matt Warner <ma...@warnertechnology.com>
wrote:

> I'm experiencing Ignite client hangs when calling getOrCreateCache when
> both
> are starting simultaneously. The stack trace shows the clients are hung in
> the getOrCreateCache method, which is why I'm focusing here.
>
> This seems like a deadlock when both clients are trying to simultaneously
> call getOrCreateCache.
>
> The setup is a vanilla Ignite installation running (./bin/ignite.sh) and
> two
> clients (IgniteConfiguration setClientMode(true)). Both go through the same
> setup, albeit in separate jar files (and separate PIDs):
>
>                 TcpDiscoverySpi spi = new TcpDiscoverySpi();
>                 TcpDiscoveryVmIpFinder ipFinder = new
> TcpDiscoveryVmIpFinder();
>                 ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
>                 spi.setIpFinder(ipFinder);
>                 IgniteConfiguration cfg = new IgniteConfiguration();
>                 cfg.setDiscoverySpi(spi);
>                 cfg.setClientMode(true);
>                 try (Ignite ignite = Ignition.start(cfg)) {
>                         CacheConfiguration<> cacheCfg = new
> CacheConfiguration<>(CACHE_NAME);
>                         cacheCfg.setAtomicityMode(ATOMIC);
>                         cacheCfg.setReadThrough(true);
>                         cacheCfg.setWriteThrough(true);
>                         cacheCfg.setWriteBehindEnabled(false);
>                         cache = ignite.getOrCreateCache(cacheCfg);  <--
> Hangs here
>                         //
>                 }
>
> "main" #1 prio=5 os_prio=31 tid=0x00007fdd01009800 nid=0xc07 waiting on
> condition [0x0000700000218000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00000007964b0e58> (a
> org.apache.ignite.internal.processors.cache.GridCacheProcessor$
> DynamicCacheStartFuture)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.
> java:175)
>         at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.
> parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
>         at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.
> doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
>         at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.
> acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
>         at
> org.apache.ignite.internal.util.future.GridFutureAdapter.
> get0(GridFutureAdapter.java:160)
>         at
> org.apache.ignite.internal.util.future.GridFutureAdapter.
> get(GridFutureAdapter.java:118)
>         at
> org.apache.ignite.internal.IgniteKernal.getOrCreateCache(
> IgniteKernal.java:2586)
>
>
> My apologies in advance if this is a well-known problem. I've been
> searching
> and am stumped.
>
> Thanks!
>
>
>
> --
> View this message in context: http://apache-ignite-users.
> 70518.x6.nabble.com/getOrCreateCache-hang-tp10737.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>