You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geode.apache.org by "Fan, Shing" <Sh...@rbccm.com> on 2017/06/06 17:04:15 UTC

connection issue with grid client

Hi,

I’m running a locator and a server on my PC, and is having 50 different clients (different compute node on a local cloud) writing to my cache simultaneously.  Each client process would write 10MB of data and close connection.  The same client process is repeated twice (put(10MB)/close/put(10MB)/close).  Occasionally, the client would require over 100s to close the connection (I’m timing the time elapse during each point of the client process to see where is potential bottleneck).  Does anyone know why this (extremely long connection time) occurs?

I’m not sure if this is of any use, I see the following in the server log.

[info 2017/06/06 12:52:19.640 EDT server1 <ServerConnection on port 40411 Thread 658> tid=0x2f9] Server connection from [identity(10.208.59.180(default_GemfireDS:13844:loner):2:GFNative_4gVX1YqGJU13844:default_GemfireDS,connection=1; port=53042]: connection disconnect detected by EOF.

[warning 2017/06/06 12:52:19.640 EDT server1 <ServerConnection on port 40411 Thread 658> tid=0x2f9] ClientHealthMonitor: Unregistering client with member id identity(10.208.59.180(default_GemfireDS:13844:loner):2:GFNative_4gVX1YqGJU13844:default_GemfireDS,connection=1 due to: The connection has been reset while reading the header

In terms of configuration of my cache.  It is a simple PARTITION cache without redundancy (I’m doing evaluation of Gemfire/Geode).  On the client side, below is the client-cache xml for reference.

<client-cache>
            <pool name="MyGridPool">
                        <locator host="10.109.35.198" port="40401"/>
            </pool>
            <region name = "MyCache" refid="PROXY"/>                                                                                                                                                           </client-cache>

This is my code (using C++ client).

CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
cacheFactory->set("grid-client", "true");
cacheFactory->set("cache-xml-file", xmlPath.c_str());
CachePtr cachePtr = cacheFactory->create();
RegionPtr regionPtr = cachePtr->getRegion(“MyCache”);
regionPtr->put( key, value );
cachePtr->close();

Thanks,
Shing


_______________________________________________________________________

This email is intended only for the use of the individual(s) to whom it is addressed and may be privileged and confidential.
Unauthorised use or disclosure is prohibited. If you receive this e-mail in error, please advise immediately and delete the original message. 
This message may have been altered without your or our knowledge and the sender does not accept any liability for any errors or omissions in the message.

Ce courriel est confidentiel et protégé. L'expéditeur ne renonce pas aux droits et obligations qui s'y rapportent. 
Toute diffusion, utilisation ou copie de ce message ou des renseignements qu'il contient par une personne autre que le (les) destinataire(s) désigné(s) est interdite.
Si vous recevez ce courriel par erreur, veuillez m'en aviser immédiatement, par retour de courriel ou par un autre moyen.

RE: connection issue with grid client

Posted by "Fan, Shing" <Sh...@rbccm.com>.
Thanks.  Anthony.  Apparently there is connectivity issue with one of the blades and the timing issue was only happening on all engines on that one blade.

From: Anthony Baker [mailto:abaker@pivotal.io]
Sent: June 6, 17 1:09 PM
To: user@geode.apache.org
Subject: Re: connection issue with grid client

Are you allocating sufficient heap space to the server and client VM’s?  Try logging verbose gc during the test and see if there are long stop-the-world pauses.

Anthony

On Jun 6, 2017, at 10:04 AM, Fan, Shing <Sh...@rbccm.com>> wrote:

Hi,

I’m running a locator and a server on my PC, and is having 50 different clients (different compute node on a local cloud) writing to my cache simultaneously.  Each client process would write 10MB of data and close connection.  The same client process is repeated twice (put(10MB)/close/put(10MB)/close).  Occasionally, the client would require over 100s to close the connection (I’m timing the time elapse during each point of the client process to see where is potential bottleneck).  Does anyone know why this (extremely long connection time) occurs?

I’m not sure if this is of any use, I see the following in the server log.

[info 2017/06/06 12:52:19.640 EDT server1 <ServerConnection on port 40411 Thread 658> tid=0x2f9] Server connection from [identity(10.208.59.180(default_GemfireDS:13844:loner):2:GFNative_4gVX1YqGJU13844:default_GemfireDS,connection=1; port=53042]: connection disconnect detected by EOF.

[warning 2017/06/06 12:52:19.640 EDT server1 <ServerConnection on port 40411 Thread 658> tid=0x2f9] ClientHealthMonitor: Unregistering client with member id identity(10.208.59.180(default_GemfireDS:13844:loner):2:GFNative_4gVX1YqGJU13844:default_GemfireDS,connection=1 due to: The connection has been reset while reading the header

In terms of configuration of my cache.  It is a simple PARTITION cache without redundancy (I’m doing evaluation of Gemfire/Geode).  On the client side, below is the client-cache xml for reference.

<client-cache>
            <pool name="MyGridPool">
                        <locator host="10.109.35.198" port="40401"/>
            </pool>
            <region name = "MyCache" refid="PROXY"/>                                                                                                                                                           </client-cache>

This is my code (using C++ client).

CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
cacheFactory->set("grid-client", "true");
cacheFactory->set("cache-xml-file", xmlPath.c_str());
CachePtr cachePtr = cacheFactory->create();
RegionPtr regionPtr = cachePtr->getRegion(“MyCache”);
regionPtr->put( key, value );
cachePtr->close();

Thanks,
Shing


_______________________________________________________________________
This email is intended only for the use of the individual(s) to whom it is addressed and may be privileged and confidential.
Unauthorised use or disclosure is prohibited. If you receive this e-mail in error, please advise immediately and delete the original message.
This message may have been altered without your or our knowledge and the sender does not accept any liability for any errors or omissions in the message.
Ce courriel est confidentiel et protégé. L'expéditeur ne renonce pas aux droits et obligations qui s'y rapportent.
Toute diffusion, utilisation ou copie de ce message ou des renseignements qu'il contient par une personne autre que le (les) destinataire(s) désigné(s) est interdite.
Si vous recevez ce courriel par erreur, veuillez m'en aviser immédiatement, par retour de courriel ou par un autre moyen.


Re: connection issue with grid client

Posted by Anthony Baker <ab...@pivotal.io>.
Are you allocating sufficient heap space to the server and client VM’s?  Try logging verbose gc during the test and see if there are long stop-the-world pauses.

Anthony

> On Jun 6, 2017, at 10:04 AM, Fan, Shing <Sh...@rbccm.com> wrote:
> 
> Hi,
>  
> I’m running a locator and a server on my PC, and is having 50 different clients (different compute node on a local cloud) writing to my cache simultaneously.  Each client process would write 10MB of data and close connection.  The same client process is repeated twice (put(10MB)/close/put(10MB)/close).  Occasionally, the client would require over 100s to close the connection (I’m timing the time elapse during each point of the client process to see where is potential bottleneck).  Does anyone know why this (extremely long connection time) occurs?
>  
> I’m not sure if this is of any use, I see the following in the server log.
>  
> [info 2017/06/06 12:52:19.640 EDT server1 <ServerConnection on port 40411 Thread 658> tid=0x2f9] Server connection from [identity(10.208.59.180(default_GemfireDS:13844:loner):2:GFNative_4gVX1YqGJU13844:default_GemfireDS,connection=1; port=53042]: connection disconnect detected by EOF.
>  
> [warning 2017/06/06 12:52:19.640 EDT server1 <ServerConnection on port 40411 Thread 658> tid=0x2f9] ClientHealthMonitor: Unregistering client with member id identity(10.208.59.180(default_GemfireDS:13844:loner):2:GFNative_4gVX1YqGJU13844:default_GemfireDS,connection=1 due to: The connection has been reset while reading the header
>  
> In terms of configuration of my cache.  It is a simple PARTITION cache without redundancy (I’m doing evaluation of Gemfire/Geode).  On the client side, below is the client-cache xml for reference.
>  
> <client-cache>
>             <pool name="MyGridPool">
>                         <locator host="10.109.35.198" port="40401"/>
>             </pool>
>             <region name = "MyCache" refid="PROXY"/>                                                                                                                                                           </client-cache>
>  
> This is my code (using C++ client).
>  
> CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
> cacheFactory->set("grid-client", "true");
> cacheFactory->set("cache-xml-file", xmlPath.c_str());
> CachePtr cachePtr = cacheFactory->create();
> RegionPtr regionPtr = cachePtr->getRegion(“MyCache”);
> regionPtr->put( key, value );
> cachePtr->close();
>  
> Thanks,
> Shing
>  
>  
> _______________________________________________________________________
> 
> This email is intended only for the use of the individual(s) to whom it is addressed and may be privileged and confidential.
> Unauthorised use or disclosure is prohibited. If you receive this e-mail in error, please advise immediately and delete the original message. 
> This message may have been altered without your or our knowledge and the sender does not accept any liability for any errors or omissions in the message.
> 
> Ce courriel est confidentiel et protégé. L'expéditeur ne renonce pas aux droits et obligations qui s'y rapportent. 
> Toute diffusion, utilisation ou copie de ce message ou des renseignements qu'il contient par une personne autre que le (les) destinataire(s) désigné(s) est interdite.
> Si vous recevez ce courriel par erreur, veuillez m'en aviser immédiatement, par retour de courriel ou par un autre moyen.
>