Sorry: > > but I maintain that leader vs. follower behavior is inconsistent here.
Sorry, that should have said "I maintain that leader vs. follower behavior is consistent here." Trey Grainger Founder, Searchkernel https://searchkernel.com On Wed, Jun 17, 2020 at 6:03 PM Trey Grainger <solrt...@gmail.com> wrote: > Hi Walter, > > >In Solr Cloud, the leader knows about each follower and updates them. > Respectfully, I think you're mixing the "TYPE" of replica with the role of > the "leader" and "follower" > > In SolrCloud, only if the TYPE of a follower is NRT or TLOG does the > leader push updates those followers. > > When the TYPE of a follower is PULL, then it does not. In Standalone > mode, the type of a (currently) master would be NRT, and the type of the > (currently) slaves is always PULL. > > As such, this behavior is consistent across both SolrCloud and Standalone > mode. It is true that Standalone mode does not currently have support for > two of the replica TYPES that SolrCloud mode does, but I maintain that > leader vs. follower behavior is inconsistent here. > > Trey Grainger > Founder, Searchkernel > https://searchkernel.com > > > > On Wed, Jun 17, 2020 at 5:41 PM Walter Underwood <wun...@wunderwood.org> > wrote: > >> But they are not the same. In Solr Cloud, the leader knows about each >> follower and updates them. In standalone, the master has no idea that >> slaves exist until a replication request arrives. >> >> In Solr Cloud, the leader is elected. In standalone, that role is fixed at >> config load time. >> >> Looking ahead in my email inbox, publisher/subscriber is an excellent >> choice. >> >> wunder >> Walter Underwood >> wun...@wunderwood.org >> http://observer.wunderwood.org/ (my blog) >> >> > On Jun 17, 2020, at 2:21 PM, Trey Grainger <solrt...@gmail.com> wrote: >> > >> > I guess I don't see it as polysemous, but instead simplifying. >> > >> > In my proposal, the terms "leader" and "follower" would have the exact >> same >> > meaning in both SolrCloud and standalone mode. The only difference >> would be >> > that SolrCloud automatically manages the leaders and followers, whereas >> in >> > standalone mode you have to manage them manually (as is the case with >> most >> > things in SolrCloud vs. Standalone). >> > >> > My view is that having an entirely different set of terminology >> describing >> > the same thing is way more cognitive overhead than having consistent >> > terminology. >> > >> > Trey Grainger >> > Founder, Searchkernel >> > https://searchkernel.com >> > >> > On Wed, Jun 17, 2020 at 4:50 PM Walter Underwood <wun...@wunderwood.org >> > >> > wrote: >> > >> >> I strongly disagree with using the Solr Cloud leader/follower >> terminology >> >> for non-Cloud clusters. People in my company are confused enough >> without >> >> using polysemous terminology. >> >> >> >> “This node is the leader, but it means something different than the >> leader >> >> in this other cluster.” I’m dreading that conversation. >> >> >> >> I like “principal”. How about “clone” for the slave role? That suggests >> >> that >> >> it does not accept updates and that it is loosely-coupled, only >> depending >> >> on the state of the no-longer-called-master. >> >> >> >> Chegg has five production Solr Cloud clusters and one production >> >> master/slave >> >> cluster, so this is not a hypothetical for us. We have 100+ Solr hosts >> in >> >> production. >> >> >> >> wunder >> >> Walter Underwood >> >> wun...@wunderwood.org >> >> http://observer.wunderwood.org/ (my blog) >> >> >> >>> On Jun 17, 2020, at 1:36 PM, Trey Grainger <solrt...@gmail.com> >> wrote: >> >>> >> >>> Proposal: >> >>> "A Solr COLLECTION is composed of one or more SHARDS, which each have >> one >> >>> or more REPLICAS. Each replica can have a ROLE of either: >> >>> 1) A LEADER, which can process external updates for the shard >> >>> 2) A FOLLOWER, which receives updates from another replica" >> >>> >> >>> (Note: I prefer "role" but if others think it's too overloaded due to >> the >> >>> overseer role, we could replace it with "mode" or something similar) >> >>> ------------------------------------------- >> >>> >> >>> To be explicit with the above definitions: >> >>> 1) In SolrCloud, the roles of leaders and followers can dynamically >> >> change >> >>> based upon the status of the cluster. In standalone mode, they can be >> >>> changed by manual intervention. >> >>> 2) A leader does not have to have any followers (i.e. only one active >> >>> replica) >> >>> 3) Each shard always has one leader. >> >>> 4) A follower can also pull updates from another follower instead of a >> >>> leader (traditionally known as a REPEATER). A repeater is still a >> >> follower, >> >>> but would not be considered a leader because it can't process external >> >>> updates. >> >>> 5) A replica cannot be both a leader and a follower. >> >>> >> >>> In addition to the above roles, each replica can have a TYPE of one >> of: >> >>> 1) NRT - which can serve in the role of leader or follower >> >>> 2) TLOG - which can only serve in the role of follower >> >>> 3) PULL - which can only serve in the role of follower >> >>> >> >>> A replica's type may be changed automatically in the event that its >> role >> >>> changes. >> >>> >> >>> I think this terminology is consistent with the current >> Leader/Follower >> >>> usage while also being able to easily accomodate a rename of the >> >> historical >> >>> master/slave terminology without mental gymnastics or the >> introduction or >> >>> more cognitive load through new terminology. I think adopting the >> >>> Primary/Replica terminology will be incredibly confusing given the >> >> already >> >>> specific and well established meaning of "replica" within Solr. >> >>> >> >>> All the Best, >> >>> >> >>> Trey Grainger >> >>> Founder, Searchkernel >> >>> https://searchkernel.com >> >>> >> >>> >> >>> >> >>> On Wed, Jun 17, 2020 at 3:38 PM Anshum Gupta <ans...@anshumgupta.net> >> >> wrote: >> >>> >> >>>> Hi everyone, >> >>>> >> >>>> Moving a conversation that was happening on the PMC list to the >> public >> >>>> forum. Most of the following is just me recapping the conversation >> that >> >> has >> >>>> happened so far. >> >>>> >> >>>> Some members of the community have been discussing getting rid of the >> >>>> master/slave nomenclature from Solr. >> >>>> >> >>>> While this may require a non-trivial effort, a general consensus so >> far >> >>>> seems to be to start this process and switch over incrementally, if a >> >>>> single change ends up being too big. >> >>>> >> >>>> There have been a lot of suggestions around what the new nomenclature >> >> might >> >>>> look like, a few people don’t want to overlap the naming here with >> what >> >>>> already exists in SolrCloud i.e. leader/follower. >> >>>> >> >>>> Primary/Replica was an option that was suggested based on what other >> >>>> vendors are moving towards based on Wikipedia: >> >>>> https://en.wikipedia.org/wiki/Master/slave_(technology) >> >>>> , however there were concerns around the use of “replica” as that >> >> denotes a >> >>>> very specific concept in SolrCloud. Current terminology clearly >> >>>> differentiates the use of the traditional replication model from >> >> SolrCloud >> >>>> and reusing the names would make it difficult for that to happen. >> >>>> >> >>>> There were similar concerns around using Leader/follower. >> >>>> >> >>>> Let’s continue this conversation here while making sure that we >> converge >> >>>> without much bike-shedding. >> >>>> >> >>>> -Anshum >> >>>> >> >> >> >> >> >>