There are still some things that can't be configured with cluster configuration service so the combination of cluster-configuration-service=true and cache.xml will have to be supported until such time as CCS is completed.
-- Mike Stolz Principal Engineer, GemFire Product Manager Mobile: 631-835-4771 On Mon, Jul 25, 2016 at 11:55 AM, Barry Oglesby <bogle...@pivotal.io> wrote: > I'm not seeing this behavior in my tests. I have a cache.xml and > use-cluster-configuration=true. When the member recovers, I see the xml > being recreated. > > The GMSMembershipManager.saveCacheXmlForReconnect method is being invoked > but short-circuiting because sharedConfigEnabled=true. > > But, the GemFireCacheImpl.initializeDeclarativeCache method is invoked and > that recreates the cache. > > I see this logging from the ReconnectThread: > > [info 2016/07/25 11:33:08.831 PDT server <ReconnectThread> tid=0x3e] > Received cluster configuration from the locator > > [info 2016/07/25 11:33:08.831 PDT server <ReconnectThread> tid=0x3e] > Received an empty shared configuration > > [info 2016/07/25 11:33:08.831 PDT server <ReconnectThread> tid=0x3e] > Initializing cache using "file:/.../config/gemfire-server.xml": > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE cache PUBLIC > "-//GemStone Systems, Inc.//GemFire Declarative Caching 7.0//EN" > "http://www.gemstone.com/dtd/cache7_0.dtd"> > > <cache> > <cache-server port="0"/> > <region name="data" refid="PARTITION_REDUNDANT"/> > <function-service> > <function> > <class-name>MembershipCycleHealthFunction</class-name> > </function> > </function-service> > </cache> > > What exact configuration is being used that is failing? > > Thanks, > Barry Oglesby > > > On Mon, Jul 25, 2016 at 10:44 AM, Kirk Lund <kl...@pivotal.io> wrote: > > > Below came to me via support engineer, and I'm trying to determine what > the > > correct behavior should be: > > > > "Let's assume that you're configuring your entire cache through spring or > > cache.xml without using the cluster configuration service, and that > you're > > using the default settings when starting the cluster (meaning > > "-Dgemfire.use-cluster-configuration=true"). Under these circumstances, > if > > a member is kicked out of the distributed system, it'll be useless after > > the auto reconnect feature kicks in because it detects that the cluster > > configuration is enabled and tries to recover the configuration from it, > > even when it's actually empty because it's not being used at all. > > > > According to the user guide we actually support this kind of setup > (cluster > > configuration plus member group configuration plus individual member > > configuration), but the actual source code used when reconnecting doesn't > > support it at all." > > > > Apparently use-cluster-configuration=true, but the user actually used > > cache.xml to configure the cache server. > > > > 1) I thought we were going to disallow mixing cluster config with old > > config in this way. > > > > 2) I would expect that starting a server with a cache.xml AND > > use-cluster-configuration=true > > should fail fast and not be allowed to start. > > > > 3) I would also expect that if a locator is configured with > > use-cluster-configuration=true > > then it should reject any cache servers that attempt to join the cluster > > that have use-cluster-configuration=false. > > > > I still need to find the relevant section in the user guide, but I would > > propose changing this to NOT allow cluster config to be used with old > > config. This is untested and be unsupported. The documentation should NOT > > say this is ok to do. > > > > Thoughts? > > > > -Kirk > > >