Eugene Nedzvetsky created GEODE-6950:
----------------------------------------
Summary: 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
Reporter: Eugene Nedzvetsky
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)