I think we should not allow a mix of cc enabled or disabled across any member in the cluster (servers as well as locators) https://issues.apache.org/jira/browse/GEODE-1961.
On Tue, Jan 3, 2017 at 11:25 AM, Jinmei Liao <jil...@pivotal.io> wrote: > yeah, the reason we have issue2 is because of issue1, if we fix issue1, > then local changes are definitely more welcome than remote calls. The whole > idea of proposing change#2 is to get rid of some of the silliness of the > implementation. Change #2 would get rid of 4or 5 remote functions class at > least. The only change is that when user is connected to a locator without > CC, the command will get a output message saying "CC is not affected", but > we all know it's a rare case anyway. > > On Tue, Jan 3, 2017 at 10:41 AM, Jacob Barrett <jbarr...@pivotal.io> > wrote: > > > If you fix issue 1 do you really need to change 2? I agree it is silly > that > > it remotes to another locator to execute the CC change but would it have > > any effect should all the locators be configured the same? > > > > > > > > On Tue, Jan 3, 2017 at 10:29 AM Jinmei Liao <jil...@pivotal.io> wrote: > > > > > Ok, currently we have 2 issues: > > > 1) a cluster might have a mix of locators with and without CC enabled. > > The > > > change proposed is to reject locator that does not CC enabled to join a > > > locator that has CC enabled (or vise versa). > > > 2) commands that change CC does remote calls to a locator with CC to > > change > > > the cluster config. The change proposed is to simply do it on the > current > > > locator. > > > > > > Fix for issue 2 is NOT a workaround for issue 1, it's a step towards > > fixing > > > issue 1. No matter we fix issue 1 or not, change for issue 2 is needed. > > > > > > > > > On Tue, Jan 3, 2017 at 10:18 AM, Jacob Barrett <jbarr...@pivotal.io> > > > wrote: > > > > > > > I am not a fan of complicated work arounds for things like this. > Feels > > > like > > > > a lot of moving parts to address something that was more likely a > > > careless > > > > oversight than an intended use case. Why do you feel like we can't > > > address > > > > the underlying issue? > > > > > > > > > > > > On Tue, Jan 3, 2017 at 10:05 AM Jinmei Liao <jil...@pivotal.io> > wrote: > > > > > > > > > Currently our API or gfsh commands allow you to create a cluster > > with a > > > > mix > > > > > of locators with and without CC. Our DM maintains a list of > locators > > > and > > > > a > > > > > separate list of locators with CC enabled. It is bad, I know. But I > > am > > > > not > > > > > sure if we can change it. > > > > > > > > > > Assuming we have to live with cluster with mix of locators, would > my > > > > > proposal make sense? > > > > > > > > > > On Tue, Jan 3, 2017 at 9:59 AM, Udo Kohlmeyer <u...@apache.org> > > wrote: > > > > > > > > > > > +1 > > > > > > > > > > > > I think that the configurations of all locators should be > > identical, > > > or > > > > > at > > > > > > least in terms of a few "critical" properties. One would also > need > > to > > > > be > > > > > > able to amend some property changes at runtime, to allow for the > > > > changing > > > > > > of configuration without taking all the locators offline. > > > > > "remote-locators" > > > > > > would be a good candidate. > > > > > > > > > > > > --Udo > > > > > > > > > > > > > > > > > > > > > > > > On 1/3/17 09:50, Jacob Barrett wrote: > > > > > > > > > > > >> If we consider the locators as the directory service for the > > cluster > > > > > then > > > > > >> it makes no sense for them to be configured differently. I think > > > > > locators > > > > > >> should be force to adopt the configuration of the other locator > in > > > the > > > > > >> cluster or refuse to join the cluster until their config is > > updated > > > to > > > > > >> match. > > > > > >> > > > > > >> > > > > > >> > > > > > >> On Tue, Jan 3, 2017 at 8:52 AM Jinmei Liao <jil...@pivotal.io> > > > wrote: > > > > > >> > > > > > >> Calling all the pros with knowledge on cluster configurations: > > > > > >>> > > > > > >>> This is regarding this current behavior of Cluster Config: > > > Assuming a > > > > > >>> cluster has 2 locators, locator-A-with-CC (with cluster config > > > > > enabled), > > > > > >>> and locator-B-without-CC (without cluster config enabled), > > > currently > > > > > any > > > > > >>> commands a user executes through Gfsh that affects cluster > config > > > > > (create > > > > > >>> region, deploy/undeploy etc) will change cluster config no > matter > > > > which > > > > > >>> locator he connects to. > > > > > >>> > > > > > >>> The implementation of this behavior is quite complicated: the > > > command > > > > > >>> needs > > > > > >>> to: > > > > > >>> > > > > > >>> 1. find out from DM if there is any locator that has CC enabled > > > (the > > > > DM > > > > > >>> needs to maintain a flag simply for this purpose). > > > > > >>> 2. find out from DM the list of locators that has CC enabled. > > > > > >>> 3. loop through this list, execute a remote function on that > > > locator > > > > to > > > > > >>> change the CC. (depending on the nature of the command, the > > > function > > > > is > > > > > >>> different). > > > > > >>> 4. break out of the loop if one execution is successful. (it > only > > > > needs > > > > > >>> to > > > > > >>> update only one locator, since the cc region is replicated > across > > > > > >>> locators). > > > > > >>> > > > > > >>> Quite often, the locator that ends up executing the function > call > > > > will > > > > > >>> the > > > > > >>> be locator that executes the command, but we still need to do > the > > > > > remote > > > > > >>> call. So I am wondering: > > > > > >>> > > > > > >>> A: What are the use cases where a cluster might have a mix of > > > > locators > > > > > >>> with > > > > > >>> and without CC? Is it quite common? > > > > > >>> B: Is there a chance that when a user connects to a locator > > without > > > > CC > > > > > >>> enabled, he actually WANTS all the commands he execute WON'T > > affect > > > > CC? > > > > > >>> C: Can we change the behavior to B? That is: the commands will > > only > > > > > >>> change > > > > > >>> CC only if the user is connected to a locator that has CC > > enabled? > > > > (of > > > > > >>> course, we will provide enough warning if the commands are on a > > > > locator > > > > > >>> without CC telling him that won't affect cluster config. We > will > > > also > > > > > >>> provides commands that will show the current state of Cluster > > > Config) > > > > > >>> > > > > > >>> This behavior change would greatly simply our implementation of > > > > cluster > > > > > >>> config and get rid of lots of spaghetti code. > > > > > >>> > > > > > >>> -- > > > > > >>> Cheers > > > > > >>> > > > > > >>> Jinmei > > > > > >>> > > > > > >>> > > > > > > > > > > > > > > > > > > > > > -- > > > > > Cheers > > > > > > > > > > Jinmei > > > > > > > > > > > > > > > > > > > > > -- > > > Cheers > > > > > > Jinmei > > > > > > > > > -- > Cheers > > Jinmei >