My 2 cents...

For AMQ 5: Active / Passive or Active / Standby makes sense for H/A.  NOB
it does not apply - each "node" (H/A pair in case every broker is running
in H/A) has active/passive pairs.  So yes, a NOB could have a bunch of
brokers all in Active state if none of the nodes is running H/A.  NOB is
never H/A.

For Artemis, since there is a designated Primary broker (the Secondary
broker cannot become active until after the Primary starts and is Active),
then it seems two sets of terms apply.  Active/Passive for the actual
runtime state, and Primary/Secondary for the assigned role.  Live/Backup
feels like it mixes the two - Live feels like runtime state.  Backup feels
like assigned role.

Art


On Fri, May 6, 2022 at 8:33 AM Christopher Shannon <
christopher.l.shan...@gmail.com> wrote:

> Justin,
>
> Looks like you sent your response right when I sent mine where I mentioned
> I was leaning towards having different terms between brokers.
>
> You more accurately described the situation than I did. It's not so much a
> difference between 5.x and Artemis but two different scenarios of runtime
> vs configuration and I like your idea of having a set of nouns and
> adjectives and do think it would help solve the issue.  I also think
> the terms you picked work well so I would be in favor of going with both
> sets and having Primary/Backup and also Active/Passive depending on the
> situation described.
>
> Chris
>
> On Fri, May 6, 2022 at 11:23 AM Justin Bertram <jbert...@apache.org>
> wrote:
>
> > > When a user pulls up a web page or dashboard with a field next to the
> > broker name what should they see?
> >
> > It depends on which ActiveMQ broker they're using.
> >
> > In ActiveMQ "Classic" there is no configured state, as you note. There is
> > only runtime state, and it makes sense for that to be something like
> > "Active" or "Passive."
> >
> > However, in ActiveMQ Artemis there is both configured state and runtime
> > state so it would make sense to see something like "Active Primary,"
> > "Active Backup," "Passive Backup," etc.
> >
> > This gets back to a suggestion I made on AMQ-7514 [1] almost a year ago
> now
> > - we need 2 nouns to denote configured state and 2 adjectives to denote
> > runtime state and we need to use those consistently across code &
> > documentation for both brokers.
> >
> > It may turn out that ActiveMQ "Classic" ultimately only uses the
> adjectives
> > and that's 100% fine. However, there is currently both documentation and
> > URL configuration which refers to "master" and "slave" in some capacity.
> >
> > In short, it's not sufficient to have just nouns or just adjectives. We
> > need *both* for the project as a whole. I think this disconnect is one of
> > the main reasons why we haven't resolved this matter already.
> >
> > My vote is for...
> >
> > Nouns:
> > [+1] Primary/Backup
> >
> > Adjectives:
> > [+1] Active/Passive
> >
> >
> > Justin
> >
> > [1]
> >
> >
> https://issues.apache.org/jira/browse/AMQ-7514?focusedCommentId=17377740&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17377740
> >
> > On Fri, May 6, 2022 at 9:36 AM Matt Pavlovich <mattr...@gmail.com>
> wrote:
> >
> > > When a user pulls up a web page or dashboard with a field next to the
> > > broker name what should they see?
> > >
> > > Use Case 1: Why would it makes sense to a user that has a 5-broker NOB
> > > cluster see the term ‘primary’ 5 times?
> > >
> > > Use Case 2: Why would a user that has a single broker see a status of
> > > ‘primary’?
> > >
> > > Use Case 3: With two ‘master’ and two 'slave’ brokers in a cluster the
> > > user would see ‘primary’, ‘backup’, ‘primary’, ‘backup’.  What does
> that
> > > mean? How can I have two ‘primary’ brokers? What are the ‘backup’
> > instances
> > > backing up?
> > >
> > > See how these terms makes no sense in the context of how ActiveMQ
> brokers
> > > work and how users use them?
> > >
> > > All these use cases make more sense with:
> > >
> > > +1 Active / Standby
> > >
> > > I think the terminology is really important here, since there is
> already
> > > interest (redis) for adding add’l data store backends and enhancements
> to
> > > kahadb (replication)— and to have a goal to align with Artemis.
> > >
> > > -1 Leader/Follower — this should be reserved for a state or status flag
> > at
> > > the persistence layer
> > > -1 Backup — this is a bad term for using with a systems that store
> data.
> > > IMO in incorrectly insinuates that there is data being ‘backed-up’,
> which
> > > is not the case with ActiveMQ 5.x.
> > > -1 Primary — this is not a great term, since there is no secondary or
> > > tertiary concept. This also insinuates that there are always multiple
> > > instances.
> > >
> > > ActiveMQ 5.x only has a state — active or polling to become active.
> > > Transport connectors, network connectors, etc all go offline. These
> > > primary/leader/follower concepts should be pushed down to the
> persistence
> > > layer.
> > >
> > > Thanks,
> > > Matt Pavlovich
> > >
> > >
> > > > On May 6, 2022, at 1:26 AM, Tetreault, Lucas
> > <tetlu...@amazon.com.INVALID>
> > > wrote:
> > > >
> > > > Hey folks,
> > > >
> > > > I don’t know if I’m actually allowed to call for a vote given I’m
> not a
> > > committer/PMC member but Michael André Pearce made it clear on Slack
> that
> > > this was the only way to move this discussion forward and come to a
> final
> > > conclusion on the issue so here goes nothing. If I’m not supposed to
> call
> > > for a vote, perhaps someone could “sponsor” this request :)
> > > >
> > > >
> > > > A tweet [1] from a few days ago raised the issue of non-inclusive
> > > terminology in the AWS docs related to ActiveMQ [2] and suggested that
> we
> > > should replace “masterslave” with a more inclusive name for the network
> > > connector transport. Replacing master/slave nomenclature in ActiveMQ
> was
> > > raised as a Jira issue in July 2020 [3] and again on the mailing list
> in
> > > November 2020 [7]. There was some initial work to rename the git branch
> > > from master to main, some attempts at making some changes to the code (
> > > https://github.com/apache/activemq/pull/679,
> > > https://github.com/apache/activemq/pull/714,
> > > https://github.com/apache/activemq/pull/788) and Matt Pavlovich
> drafted
> > a
> > > thorough proposal on the mailing list [6], however we have not been
> able
> > to
> > > come to an agreement on nomenclature so these efforts seem to have
> > stalled
> > > out.
> > > >
> > > >
> > > >
> > > > If we are able to come to an agreement on nomenclature, we can move
> > > forward with removing more non-inclusive terminology on the website (I
> > will
> > > follow up with some PRs to the website), in discussions with the
> > community
> > > and of course in the codebase. This will remove barriers to adoption
> and
> > > make ActiveMQ a more approachable and inclusive project for everyone!
> > Other
> > > Apache projects such as Solr and Kafka have moved from master/slave to
> > > leader/follower. Leader/follower is also recommended by the IETF [4]
> and
> > > inclusivenaming.org [5] which is supported by companies such as Cisco,
> > > Intel, and RedHat. At AWS, we have used active/standby to describe HA
> > > deployments, however from previous discussions it's clear that
> > > active/standby is not a viable option for this community since 'active'
> > can
> > > be used to describe so many things. If we can agree on leader/follower
> or
> > > some alternate we would follow the community's preference and adopt
> > > leader/follower to better serve our ActiveMQ users.
> > > >
> > > >
> > > >
> > > > From all the previous discussions, I believe we have two options to
> > > replace master/slave. Artemis will need to layer on a status (e.g.:
> > > active/standby) but I think we can move forward on this vote without
> > > deciding what those terms should be assuming people agree these options
> > > will support having a status layered on top.
> > > >
> > > >
> > > >
> > > > Please submit your +1/-1 vote on the following terms and please
> provide
> > > specific comments/alternatives if you’re -1 for both options.
> > > >
> > > > [ ] Leader/Follower
> > > >
> > > > [ ] Primary/Backup
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > [1] https://twitter.com/owenblacker/status/1517156221207212032
> > > >
> > > > [2]
> > >
> >
> https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/amazon-mq-creating-configuring-network-of-brokers.html#creating-configuring-network-of-brokers-configure-network-connectors
> > > >
> > > > [3] https://issues.apache.org/jira/browse/AMQ-7514
> > > >
> > > > [4] https://tools.ietf.org/id/draft-knodel-terminology-02.html
> > > >
> > > > [5] https://inclusivenaming.org/word-lists/tier-1/
> > > > [6] https://lists.apache.org/thread/rcwogpchjo9p461hqoj6m89q9t2qpqjj
> > > > [7] https://lists.apache.org/thread/5ntnrbz1l92xbvno0s2jxhhf7nbs8d9c
> > > >
> > > > Lucas Tétreault
> > > > Software Development Manager, Amazon MQ
> > > > email: tetlu...@amazon.com<mailto:tetlu...@amazon.com>
> > > >
> > > >
> > >
> > >
> >
>

Reply via email to