[ 
https://issues.apache.org/jira/browse/GEODE-6950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eugene Nedzvetsky updated GEODE-6950:
-------------------------------------
    Affects Version/s: 1.7.0
                       1.8.0
                       1.9.0
          Description: 
Locator can't start if a few hundred clients already started.
Steps to reproduce:
1. Start Locator
2. Start 300 Geode clients
3. Stop Locator
4. Start Locator again
Observe 100% CPU load and after some time Locator app crashes with timeout 
exceptions in the log.

The problem is in the method 
org.apache.geode.distributed.internal.InternalLocator.PrimaryHandler#processRequest
handlerMapping doesn't have handlers for LocatorListRequest and 
ClientConnectionRequest requests on Locator startup and in this case work code 
part with condition 'if(giveup == 0)'(InternalLocator:1185)

Pause Thread.sleep(1000) works only on the first iteration and after that 
giveup>0 and CPU just spends resources on cycle execution without any pauses.

Call Thread.sleep(1000)  should be after if(giveup>0) condition block. It will 
be called on each iteration in this case.

 

  was:
Locator can't start if a few hundred clients already started.
Steps to reproduce:
1. Start Locator
2. Start 300 Geode clients
3. Stop Locator
4. Start Locator again
Observe 100% CPU load and after some time Locator app crashes with timeout 
exceptions in the log.

The problem is in the method 
org.apache.geode.distributed.internal.InternalLocator.PrimaryHandler#processRequest
handlerMapping doesn't have handlers for LocatorListRequest and 
ClientConnectionRequest requests on Locator startup and in this case work code 
part with condition 'if(giveup == 0)'(InternalLocator:1185)

Pause Thread.sleep(1000) works only on the first iteration and after that 
giveup>0 and CPU just spends resources on cycle execution without any pauses.

Call Thread.sleep(1000)  should be after if(giveup>0) condition block. It will 
be called on each iteration.in this case.

 


> Locator can't start if a lot of clients already started
> -------------------------------------------------------
>
>                 Key: GEODE-6950
>                 URL: https://issues.apache.org/jira/browse/GEODE-6950
>             Project: Geode
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.7.0, 1.8.0, 1.9.0
>            Reporter: Eugene Nedzvetsky
>            Priority: Major
>         Attachments: 1.log
>
>
> Locator can't start if a few hundred clients already started.
> Steps to reproduce:
> 1. Start Locator
> 2. Start 300 Geode clients
> 3. Stop Locator
> 4. Start Locator again
> Observe 100% CPU load and after some time Locator app crashes with timeout 
> exceptions in the log.
> The problem is in the method 
> org.apache.geode.distributed.internal.InternalLocator.PrimaryHandler#processRequest
> handlerMapping doesn't have handlers for LocatorListRequest and 
> ClientConnectionRequest requests on Locator startup and in this case work 
> code part with condition 'if(giveup == 0)'(InternalLocator:1185)
> Pause Thread.sleep(1000) works only on the first iteration and after that 
> giveup>0 and CPU just spends resources on cycle execution without any pauses.
> Call Thread.sleep(1000)  should be after if(giveup>0) condition block. It 
> will be called on each iteration in this case.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to