-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55091/
-----------------------------------------------------------

Review request for geode and Udo Kohlmeyer.


Bugs: GEODE-2257
    https://issues.apache.org/jira/browse/GEODE-2257


Repository: geode


Description
-------

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_.


Diffs
-----

  
geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionFactoryImpl.java
 eceabcb2417873f6b290fd129a059d4d73809c55 
  
geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionImpl.java
 6bc68ae817ff99124666240eb7e0c5a3ed26c58c 
  
geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueManagerImpl.java
 4712268978bd6a280b1224ce11ed31b39693971a 
  geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java 
0454f5380dc6a825f67f3341b0a81f0bcae0546d 
  
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientUpdater.java
 b4a6bedd67f8cb0b11cf3e325a4cb7e47dd654a1 
  
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HandShake.java
 9a5c6c6a3435c473ba5f5bc956ec60a41adbfa31 
  
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
 82f30bfceaab2eeff9f775188f27ee067cfb5217 

Diff: https://reviews.apache.org/r/55091/diff/


Testing
-------

precheckin, new unit test


Thanks,

Bruce Schuchardt

Reply via email to