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

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

Commit e9a6b00d12f070c63d87dec7200ec4d12e60cd1d in geode's branch 
refs/heads/feature/GEODE-7109 from Bruce Schuchardt
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=e9a6b00 ]

GEODE-7877: deal with the static Version map in TcpClient (#4817)

* GEODE-7877: deal with the static Version map in TcpClient

The server-version map that tracks Locator versions is now an instance
variable instead of a static.

I looked into removing the map altogether but it's really needed for
rolling-upgrade purposes.  When one locator is rolled to a new version
of Geode but another locator is still running the old version it's
essential that the new locator know that it's communicating with an old
locator.

* added check for socket being closed.

ConnectCommandWithSSLMultiKeyTest ran into a closed-socket exception in two
successive distributedTest runs.

> deal with the static Version map in TcpClient
> ---------------------------------------------
>
>                 Key: GEODE-7877
>                 URL: https://issues.apache.org/jira/browse/GEODE-7877
>             Project: Geode
>          Issue Type: Improvement
>          Components: membership
>            Reporter: Bruce J Schuchardt
>            Assignee: Bruce J Schuchardt
>            Priority: Major
>             Fix For: 1.13.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> TcpClient has a cache of Locator Versions that it uses to avoid sending 
> multiple VersionRequests to a Locator, each of which requires a new TCP/IP 
> connection.  This could, at the least, be an instance variable now that 
> TcpClient has been converted from being a bunch of static methods into being 
> an instantiate-able class.
> Caching the Versions isn't necessarily bad.  If a Locator is upgraded to a 
> newer Version it isn't going to communicate with the client using that 
> Version - it will still serialize using the client's Version, and the client 
> will use its own Version when serializing to the Locator.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to