A server/peer can have its own cache configuration addition to cluster-configuration; if we still support that; does the new "reloadNewClusterConfiguration()" takes care of it?
-Anil. On Wed, Mar 21, 2018 at 1:06 PM, Jinmei Liao <jil...@pivotal.io> wrote: > Sounds like this is a slippery slope. I reworked the strategy: instead of > calling cache.close, I only issue a call to the locator to get the cluster > configuration again and do a reload of the properties and cacheXml. Here is > the PR for this approach: > https://github.com/apache/geode/pull/1656 > > Basically this is what the reloadClusterConfiguration does: > https://github.com/apache/geode/pull/1656/files#diff- > 14ace6c5abf2f68c480b55a7c882e18c > > If you see anything obviously wrong, or even vaguely wrong, please comment > on the PR, we will try to test it out. > > Thanks! > > On Wed, Mar 21, 2018 at 12:42 PM, Kirk Lund <kl...@apache.org> wrote: > > > The non-daemon thread in a process launched with ServerLauncher is > looping > > in waitOnServer. When you close the Cache, that loop exits and the > > ServerLauncher process exits. > > > > As Bruce pointed you, JUnit and the DUnit VMs have other non-daemon > > threads. > > > > You might need to alter ServerLauncher.waitOnServer() and > > LocatorLauncher.waitOnLocator() for what you're doing. > > > > On Wed, Mar 21, 2018 at 10:28 AM, Jinmei Liao <jil...@pivotal.io> wrote: > > > > > Bruce: this sounds like the root cause of the differences between the > > dunit > > > test and reall app test. > > > > > > On Wed, Mar 21, 2018 at 10:22 AM, Bruce Schuchardt < > > bschucha...@pivotal.io > > > > > > > wrote: > > > > > > > It's likely that the JVM is exiting because the AcceptorImpl thread > is > > > the > > > > only non-daemon thread and it is stopped when the cache is closed. > > DUnit > > > > JVMs have a non-daemon main() thread that keeps them alive. > > > > > > > > > > > > > > > > On 3/21/18 9:48 AM, Jinmei Liao wrote: > > > > > > > >> We would like to allow users to import a new set of cluster > > > configuration > > > >> with running servers as long as we make sure these servers are > vanilla > > > >> servers (servers that are just started with nothing in it). Now > since > > > the > > > >> servers are already up, caches are already created, we will need to > > > >> re-create the cache with the new xml received from the locator. > > > Originally > > > >> our implementation on the servers boils down to: > > > >> > > > >> cache.close("Re-create Cache", true, true); > > > >> > > > >> GemFireCacheImpl.create(oldDs, cacheConfig); > > > >> > > > >> > > > >> but the cache.close call eventually leads to a VM exit (somehow in > the > > > >> DUunit VM, it doesn not), so this does not work with real > application > > > >> environment. Now we are wondering is there a safe to recreate the > > cache > > > >> instance with a new set of properties/cacheXml without triggering > the > > > >> entire shutdown sequence? > > > >> > > > >> > > > >> > > > > > > > > > > > > > -- > > > Cheers > > > > > > Jinmei > > > > > > > > > -- > Cheers > > Jinmei >