Bruce Schuchardt created GEODE-1393:
---------------------------------------
Summary: locator returns incorrect server information when
starting up
Key: GEODE-1393
URL: https://issues.apache.org/jira/browse/GEODE-1393
Project: Geode
Issue Type: Bug
Components: locator
Reporter: Bruce Schuchardt
When starting up a locator has no knowledge of cache servers that might be in
the distributed system but it will process server-location requests from
clients and return them incorrect information until it receives load info from
the servers.
In one test I saw a locator be ejected from the distributed system. When it
auto-reconnected some cache clients asked it for server locations and, though
there were 6 cache servers available the clients got this exception:
{noformat}
com.gemstone.gemfire.cache.client.NoAvailableServersException
at
com.gemstone.gemfire.cache.client.internal.pooling.ConnectionManagerImpl.borrowConnection(ConnectionManagerImpl.java:257)
at
com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.getNextOpServerLocation(OpExecutorImpl.java:318)
at
com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:130)
at
com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:123)
at
com.gemstone.gemfire.cache.client.internal.PoolImpl.execute(PoolImpl.java:714)
at
com.gemstone.gemfire.cache.client.internal.GetOp.execute(GetOp.java:97)
at
com.gemstone.gemfire.cache.client.internal.ServerRegionProxy.get(ServerRegionProxy.java:112)
at
com.gemstone.gemfire.internal.cache.tx.ClientTXRegionStub.findObject(ClientTXRegionStub.java:72)
at
com.gemstone.gemfire.internal.cache.TXStateStub.findObject(TXStateStub.java:379)
at
com.gemstone.gemfire.internal.cache.TXStateProxyImpl.findObject(TXStateProxyImpl.java:607)
at
com.gemstone.gemfire.internal.cache.LocalRegion.get(LocalRegion.java:1460)
at
com.gemstone.gemfire.internal.cache.LocalRegion.get(LocalRegion.java:1398)
at
com.gemstone.gemfire.internal.cache.LocalRegion.get(LocalRegion.java:1385)
at
com.gemstone.gemfire.internal.cache.AbstractRegion.get(AbstractRegion.java:336)
{noformat}
ServerLocator has a readiness check but it is only testing to see if its
DistributedSystem instance variable has been initialized. It ought to wait
until it has received a server load update.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)