----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/55074/#review160436 -----------------------------------------------------------
Ship it! Ship It! - Udo Kohlmeyer On Dec. 28, 2016, 5:15 p.m., Bruce Schuchardt wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/55074/ > ----------------------------------------------------------- > > (Updated Dec. 28, 2016, 5:15 p.m.) > > > Review request for geode, Udo Kohlmeyer and Dan Smith. > > > Bugs: GEODE-2238 and GEODE-2253 > https://issues.apache.org/jira/browse/GEODE-2238 > https://issues.apache.org/jira/browse/GEODE-2253 > > > Repository: geode > > > Description > ------- > > __Background__ > > Initially the Locator had but one service - peer-location. > > When connection pools were added to client caches a server-location service > was added to the locator, which boots up after the peer location service and > isn't actually available until after StartupMessages have been exchanged. > During the interval between joining and StartupMessage exchange the handler > for server-location messages isn't available and the Locator used to log a > warning. I fixed that by supressing the warning if we knew that > server-location was going to be enabled. > > Now a Cluster Configuration service has been added that isn't initialized and > available until some time after a Cache has been created in the Locator, > which is an even longer gap than the server-location service had. During > this time a new member might join and try to get the shared configuration > from the locator. The locator then logs a warning and does not respond, so > the new member ends up shutting down. > > __The Fix__ > > This introduces a retry loop in the locator when a handler for an incoming > message can't be found. It waits for an amount of time for the handler to be > installed, which I've set to the locator-wait-time or 5 seconds if that > property hasn't been set. > > I've also changed InternalLocator to always install the handler for cluster > configuration status so that you can query any locator to see if it has a > cluster configuration service and, if so, what state it's in. > > > Diffs > ----- > > > geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java > 59488ad66e861fde67840f75dae413f247c821f4 > > geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java > 83fdd0b1697f541034a91e02e1e0c96de4493cd0 > geode-core/src/test/java/org/apache/geode/distributed/LocatorJUnitTest.java > 65f09476ff06542739c63147dab29b71d5550dd0 > > Diff: https://reviews.apache.org/r/55074/diff/ > > > Testing > ------- > > precheckin, new unit test > > > Thanks, > > Bruce Schuchardt > >
