Skip to content
This repository has been archived by the owner on Nov 21, 2018. It is now read-only.

Consider moving from master/slave terminology #2

Closed
cllns opened this issue Dec 16, 2014 · 34 comments
Closed

Consider moving from master/slave terminology #2

cllns opened this issue Dec 16, 2014 · 34 comments

Comments

@cllns
Copy link

cllns commented Dec 16, 2014

This seems like an internal tool, but it might be a good idea to change from 'master/slave' to something less problematic.

I'm not familiar with this tool, but primary/replica might work. (or leader/follower)

@steveklabnik @brson, thoughts?

@steveklabnik
Copy link

Very, very +1

(and primary/replica is my preferred, but just anything other than master/slave)

@brson
Copy link
Contributor

brson commented Dec 16, 2014

'master' and 'slave' are the buildbot terminology.

@bheesham
Copy link
Contributor

bheesham commented Jan 7, 2015

Yeah, that would be tricky. You can always fork Buildbot and hope a simple text replacement would work

@tbu-
Copy link

tbu- commented Feb 4, 2015

@steveklabnik Primary/replica doesn't seem to fit, as there's a controller (the current "master") which completely controls the other instances (the current "slaves"), i.e. they're not replicas of the primary.

@cllns
Copy link
Author

cllns commented Feb 4, 2015

@tbu- What about leader/follower?

@tbu-
Copy link

tbu- commented Feb 4, 2015

That sounds better.

@trevrosen
Copy link

I think "leader/follower" works as a pretty much universal replacement for "master/slave". I don't do any Rust at work, but we've started to use this nomenclature for multi-server environments there.

@eevee
Copy link

eevee commented Feb 4, 2015

uwsgi uses emperor/vassal for some similar feature.

"peon" is a great word too. but then i'm inclined towards colorful names :)

@tonylukasavage
Copy link

leader/follower is pretty popular among projects making this particular change.

@fables-tales
Copy link

@steveklabnik leader/follower seems correct in this case for me.

@coderanger
Copy link

For CI stuff in the past I've used "server/worker" or "server/builder".

@jedahan
Copy link

jedahan commented Feb 4, 2015

leader/follower seems more general than leader/builder

though I like both

@runlevel5
Copy link

Oh my, please check django/django#2692

@alex
Copy link

alex commented Feb 4, 2015

coordinator/worker is probably what I'd use if I were building a CI system.

@effigies
Copy link

effigies commented Feb 4, 2015

Would suggest controller/worker, but +1 to coordinator/worker, too.

@timplunkett
Copy link

Drupal decided on using primary/replica, following Django's lead.

@alex
Copy link

alex commented Feb 4, 2015

A build system's naming scheme isn't describing the same thing as a
database system; I do think primary/replica is the right naming for
database replication schemes.

On Wed, Feb 4, 2015 at 3:25 PM, Tim Plunkett notifications@github.com
wrote:

Drupal decided on using primary/replica, following Django's lead.


Reply to this email directly or view it on GitHub
#2 (comment)
.

"I disapprove of what you say, but I will defend to the death your right to
say it." -- Evelyn Beatrice Hall (summarizing Voltaire)
"The people's good is the highest law." -- Cicero
GPG Key fingerprint: 125F 5C67 DFE9 4084

@tomburns
Copy link

tomburns commented Feb 4, 2015

+1 for leader / follower, given the context.

@jjjjw
Copy link

jjjjw commented Feb 4, 2015

primary/secondary also works, if primary/replica seems weird.

@reaperhulk
Copy link

http://trac.buildbot.net/ticket/2340 may also be of interest.

@mikeedwards
Copy link

primary/secondary? That's sort of what mongo does:
http://docs.mongodb.org/manual/core/replication/

Primary and replica would work, too, but that might be too specific in terms of function of the "non-primary" machine. Secondary is nicely general, if that matters.

@tbu-
Copy link

tbu- commented Feb 4, 2015

@zjjw Your terminology doesn't quite fit, it might fit for databases, but not for build servers.

server/worker might fit.

@cllns
Copy link
Author

cllns commented Feb 4, 2015

@reaperhulk I was in the process of writing a comment there when you posted the link 👍

@tomjakubowski
Copy link

We should avoid using "leader" in upper case or any other context where it could be construed as a title.

@kamalmarhubi
Copy link

slave -> worker above the rest of the suggestions.

Perhaps master is all right with that change, trying to decide for myself.

For the master:

  • leave it as master. Trying to decide for myself if that's all right with slave -> worker
  • coordinator: I think this works well
  • server: I don't know buildbot architecture, but if the 'master' is the process that receives requests and sends them out, 'server' would be all right. If it polls the repo and only manages the workers, then I don't think it fits.
  • leader: leader / follower to me suggest a distributed database or a paxos or raft like replicated state machine.
  • primary: primary / secondary suggest the two components are of the same class, which is not the case.

Edit: ha! Marx's comments on the buildbot ticket are my exact potential issue with master / worker.

@cllns cllns changed the title Consider moving from master/slave Consider moving from master/slave terminology Feb 4, 2015
@colingourlay
Copy link

I'm throwing in gru / minion.

@O-I
Copy link

O-I commented Feb 5, 2015

I think primary/replica has precedent in replacing master/slave terminology like in the aforementioned Django issue mentioned by @joneslee85, but I find myself more in the leader/follower camp.

If it didn't make things even more confusing, I'd suggest something like yang/yin. 😃

@locks
Copy link

locks commented Feb 5, 2015

CouchDB also switched to primary / replica, if I remember correctly: https://issues.apache.org/jira/browse/COUCHDB-2248

@crazymykl
Copy link

Although leader/follower looks to be in the lead, I humbly propose exemplar/aspirant.

@Manishearth
Copy link

primary/replica sounds too database-y, and replication isn't exactly what's happening here.

I prefer leader/follower

@lukemayes
Copy link

@tbi- describing the current "master" as a controller made me think controller/drone or controller/worker might be good.

@tomjakubowski
Copy link

"Drone" is equally problematic in parts of the world ravaged by US military intervention.

@steveklabnik
Copy link

Thank you everyone for your suggestions.

Given that we're not a database, I agree that primary/replica doesn't make a lot of sense. But regardless, this really needs to be fixed upstream. Therefore, I'm doing two things:

  1. Closing this in favor of http://trac.buildbot.net/ticket/2340
  2. Working with said upstream to land a patch. I have been emailing with one of the committers about it, and they're favorable to the change, the work just needs done. I plan on implementing leader/follower.

If upstream ends up rejecting this, we can re-open and see what we can do, but for now, dealing with them is the correct course of action.

@dhuseby
Copy link

dhuseby commented Mar 3, 2015

How about "gun" and "shovel"?

"You see in this world there's two kinds of people, my friend. Those with loaded guns, and those who dig. You dig."
https://www.youtube.com/watch?v=6YnryHbJqC4&t=3m34s

@rust-lang-deprecated rust-lang-deprecated locked and limited conversation to collaborators Jul 23, 2015
HOLYCOWBATMAN referenced this issue in nixxquality/WebMConverter Jul 29, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests