[ 
https://issues.apache.org/jira/browse/GEODE-2257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15787941#comment-15787941
 ] 

ASF subversion and git services commented on GEODE-2257:
--------------------------------------------------------

Commit e3cb1b74710fc94b8e100f6031e0ea8f2c48b5f4 in geode's branch 
refs/heads/develop from [~bschuchardt]
[ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=e3cb1b7 ]

GEODE-2257 Client configured to use locator with addPoolServer fails to connect

The first byte that a client sends is a connection-type that is >= 100.
The first bytes expected by a locator are the 4 bytes of an integer
indicating the protocol version.  I've changed the locator to read
the first byte and, if it's >= 100 send a reply byte back to the client
telling it that it's trying to contact a locator using a client/server
handshake.

The client has a new reply code that the locator is now using.  If the
client sees this reply code it will throw a GemFireConfigException.  Some
of these exceptions will be thrown in the background and get logged but
the thread initiating cache creation will also get this exception when
it invokes ClientCacheFactory.create().

The client-side error message will be in this form:
_Improperly configured client detected. Server at 10.154.30.28 is actually
a locator.  Use addPoolLocator to configure locators_.

The locator will also log a warning in this form so that alerts will be
raised:
_Unable to process request from 10.118.33.195 exception=Improperly
configured client detected - use addPoolLocator to configure its
locators instead of addPoolServer_.


> Client configured to use locator with addPoolServer fails to connect
> --------------------------------------------------------------------
>
>                 Key: GEODE-2257
>                 URL: https://issues.apache.org/jira/browse/GEODE-2257
>             Project: Geode
>          Issue Type: Bug
>          Components: client/server
>            Reporter: Bruce Schuchardt
>             Fix For: 1.1.0
>
>
> If a client cache is incorrectly configured to use a locator address with 
> ClientConnectionFactory.addPoolServer() instead of addPoolLocator() it is 
> very difficult to figure out why it's unable to connect.  The locator rejects 
> all attempts to contact it because the client tries to perform a 
> server-handshake with it and the locator just closes the connection without a 
> response.  The client ends up having an empty connection pool and is unable 
> to find any of the available servers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to