You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Bruce Schuchardt <bs...@pivotal.io> on 2016/10/26 18:30:17 UTC

Review Request 53199: GEODE-2000 ClientMemberShipListener at client should see server-bind-address in event memberId

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

Review request for geode, Hitesh Khamesra and Udo Kohlmeyer.


Bugs: geode-2000
    https://issues.apache.org/jira/browse/geode-2000


Repository: geode


Description
-------

The previous fix for this caused confusion as it changed the server memberId that is used in other places and should remain unchanged.  This change set alters just the listener-invocation code in the client cache so that client events are based on the ServerLocation information returned by the Locator or added to the connection pool by applications.

Udo worked with me on this and we found the listener invocation code to be somewhat convoluted, mixing server-side notification about clients with client-side notification about servers in the same code.  This lead to a bit of refactoring in InternalClientMembership to separate the two.

A number of changes had to be made in test code.  Some tests were requiring that client-side listeners see the server's exact member ID which is no longer true since the ID being fabricated out of a ServerLocation doesn't have as much detail as the true member ID and so is not equal() to it.  Some other test code was creating ServerLocation objects with non-existent host names.  This is no longer allowed so we changed these tests to use a numeric IP address.


Diffs
-----

  geode-core/src/main/java/org/apache/geode/cache/client/internal/EndpointManagerImpl.java ec8a81833ba502fae4672529f755147d5639d42e 
  geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java ac8379bddab6582daf7661640e9f894633bfda67 
  geode-core/src/main/java/org/apache/geode/internal/cache/tier/InternalClientMembership.java 656f7ded38b175792f08255f8f916e89a704db2e 
  geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientUpdater.java 90cdedaaa847af956c088075df6ff42326712118 
  geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HandShake.java 5e13be091070e5c31d61f3288ca7008e64481f5f 
  geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java 47932d014538ec55e5781a451534715be2d82f25 
  geode-core/src/test/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImplJUnitTest.java 63fc8d58ea2c728e0d8c633f8be44d057225c2fc 
  geode-core/src/test/java/org/apache/geode/cache/client/internal/pooling/ConnectionManagerJUnitTest.java 1017db2229b437837e6dfb10e00cdb12d709b5e8 
  geode-core/src/test/java/org/apache/geode/cache/partition/PartitionRegionHelperDUnitTest.java a4494ca71b32bf97b0e65b6eb02036f4be4b45d1 
  geode-core/src/test/java/org/apache/geode/cache30/ClientMembershipDUnitTest.java 83b75d5f92915710a6be1eff903df79e741737ce 
  geode-core/src/test/java/org/apache/geode/distributed/internal/DistributionManagerDUnitTest.java 1329c24fb1af808aa245e550f75e259bb9bb63c3 
  geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionQueryEvaluatorIntegrationTest.java 4e8408c74a718ce2333e725ca83d8fed7f4b42c0 
  geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java 019bd0f2acc76e2cffec342868f221bdf55b431c 
  geode-core/src/test/java/org/apache/geode/test/fake/Fakes.java aaf3e281c7fba82f2ab437122af66373ce967494 

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


Testing
-------

precheckin, new unit test


Thanks,

Bruce Schuchardt


Re: Review Request 53199: GEODE-2000 ClientMemberShipListener at client should see server-bind-address in event memberId

Posted by Udo Kohlmeyer <uk...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/53199/#review153926
-----------------------------------------------------------


Ship it!




Ship It!

- Udo Kohlmeyer


On Oct. 26, 2016, 6:30 p.m., Bruce Schuchardt wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/53199/
> -----------------------------------------------------------
> 
> (Updated Oct. 26, 2016, 6:30 p.m.)
> 
> 
> Review request for geode, Hitesh Khamesra and Udo Kohlmeyer.
> 
> 
> Bugs: geode-2000
>     https://issues.apache.org/jira/browse/geode-2000
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> The previous fix for this caused confusion as it changed the server memberId that is used in other places and should remain unchanged.  This change set alters just the listener-invocation code in the client cache so that client events are based on the ServerLocation information returned by the Locator or added to the connection pool by applications.
> 
> Udo worked with me on this and we found the listener invocation code to be somewhat convoluted, mixing server-side notification about clients with client-side notification about servers in the same code.  This lead to a bit of refactoring in InternalClientMembership to separate the two.
> 
> A number of changes had to be made in test code.  Some tests were requiring that client-side listeners see the server's exact member ID which is no longer true since the ID being fabricated out of a ServerLocation doesn't have as much detail as the true member ID and so is not equal() to it.  Some other test code was creating ServerLocation objects with non-existent host names.  This is no longer allowed so we changed these tests to use a numeric IP address.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/cache/client/internal/EndpointManagerImpl.java ec8a81833ba502fae4672529f755147d5639d42e 
>   geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java ac8379bddab6582daf7661640e9f894633bfda67 
>   geode-core/src/main/java/org/apache/geode/internal/cache/tier/InternalClientMembership.java 656f7ded38b175792f08255f8f916e89a704db2e 
>   geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientUpdater.java 90cdedaaa847af956c088075df6ff42326712118 
>   geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HandShake.java 5e13be091070e5c31d61f3288ca7008e64481f5f 
>   geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java 47932d014538ec55e5781a451534715be2d82f25 
>   geode-core/src/test/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImplJUnitTest.java 63fc8d58ea2c728e0d8c633f8be44d057225c2fc 
>   geode-core/src/test/java/org/apache/geode/cache/client/internal/pooling/ConnectionManagerJUnitTest.java 1017db2229b437837e6dfb10e00cdb12d709b5e8 
>   geode-core/src/test/java/org/apache/geode/cache/partition/PartitionRegionHelperDUnitTest.java a4494ca71b32bf97b0e65b6eb02036f4be4b45d1 
>   geode-core/src/test/java/org/apache/geode/cache30/ClientMembershipDUnitTest.java 83b75d5f92915710a6be1eff903df79e741737ce 
>   geode-core/src/test/java/org/apache/geode/distributed/internal/DistributionManagerDUnitTest.java 1329c24fb1af808aa245e550f75e259bb9bb63c3 
>   geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionQueryEvaluatorIntegrationTest.java 4e8408c74a718ce2333e725ca83d8fed7f4b42c0 
>   geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java 019bd0f2acc76e2cffec342868f221bdf55b431c 
>   geode-core/src/test/java/org/apache/geode/test/fake/Fakes.java aaf3e281c7fba82f2ab437122af66373ce967494 
> 
> Diff: https://reviews.apache.org/r/53199/diff/
> 
> 
> Testing
> -------
> 
> precheckin, new unit test
> 
> 
> Thanks,
> 
> Bruce Schuchardt
> 
>