On Tue, Mar 13, 2018 at 8:44 PM, Stack <st...@duboce.net> wrote:

> On Tue, Mar 13, 2018 at 6:30 PM, 张铎(Duo Zhang) <palomino...@gmail.com>
> wrote:
>
>> I would be interested to be the RM for 2.1 :)
>>
>>
> I could help.
>

Or, I meant, good... We need more RMs. I volunteer to help smooth the
experience.

S

S
>
>
>
>> Stack <st...@duboce.net>于2018年3月14日 周三02:48写道:
>>
>> > I took a look. Its great. Our replication is in bad need of loving. The
>> > patch does a refactor/revamp/fix of an internal facility putting our
>> peer
>> > management up on a Pv2 basis. It also moves forward the long-rumored
>> > distributed procedure project.
>> >
>> > Its a big change though. Would have been great to have it make 2.0.0
>> but it
>> > didn't. I'd be up for it in a minor release rather than wait on 3.0.0
>> given
>> > we allow ourselves some leeway adding facility on minors and that it is
>> at
>> > core a solidifying fix. Needs to be doc'd and tested, verified on a
>> deploy
>> > beyond unit test. I could help test. Is it proven compatible with
>> existing
>> > replication deploys?
>> >
>> > Who's the 3.0.0 RM? When is it going to roll? Having this in place is
>> best
>> > argument if folks propose back-ports. Without, we are doomed to repeat
>> the
>> > 2.0.0 experience.
>> >
>> > Thanks,
>> > St.Ack
>> >
>> >
>> >
>> > On Tue, Mar 13, 2018 at 3:44 AM, 张铎(Duo Zhang) <palomino...@gmail.com>
>> > wrote:
>> >
>> > > I've already merged it to branch-2...
>> > >
>> > > And for the procedure based replication peer modification, the feature
>> > has
>> > > been finished, at least no critical TODOs. I will not say it has no
>> bugs
>> > > but I do not think it will block the 2.1 or 3.0 release too much.
>> > >
>> > > And please trust my judgement, I'm not a man who only want to show
>> off.
>> > For
>> > > example I just reverted the serial replication feature from branch-2
>> > before
>> > > we release beta2 and tried to redo it on master because we found some
>> > > critical problems. And since the basic idea has not been changed so we
>> > > decided to do it on master because it will not spend too much time to
>> > > finish. And for HBASE-19064 it is a big feature so we decided to do it
>> > on a
>> > > feature branch. We will select the branches which we want to merge
>> back
>> > at
>> > > the time we finish the feature.
>> > >
>> > > For the CP cleanup, I think the problem is we started too late, and in
>> > the
>> > > past we made mistakes and let the related projects inject too much
>> into
>> > the
>> > > internal of HBase. And for B&R, it is something like the serial
>> > replication
>> > > feature. For serial replication feature is that we tested it and found
>> > some
>> > > critical problems, and for B&R it was not well tested(IIRC) so we were
>> > > afraid of there will be critical problems. And for the AMv2, I think
>> the
>> > > problem is premature optimization. We even implemented our own
>> AvlTree,
>> > and
>> > > also a very complicated scheduler which always makes us dead lock...
>> > >
>> > > These are all very good cases for software engineering in the real
>> > world...
>> > > Should be avoided in the future... That's also my duty...
>> > >
>> > > Thanks.
>> > >
>> > > 2018-03-13 17:50 GMT+08:00 Apekshit Sharma <a...@cloudera.com>:
>> > >
>> > > > I thought the problem with releasing 2.0 was that there were too
>> many
>> > > open
>> > > > features dragging along not coming to finish- AMv2  (biggest one),
>> CP
>> > > > cleanup, B&R, etc.
>> > > > If it was not the case, it wouldn't have been 1 year between first
>> > alpha
>> > > > and GA, rather just few months.
>> > > >
>> > > > That said, i don't mind new but hardened features which are already
>> > ready
>> > > > to ship (implementation only or not) going in minor version, but
>> that's
>> > > my
>> > > > personal opinion. But going too aggressive on that can indeed lead
>> to
>> > the
>> > > > trap Josh mentioned above.
>> > > >
>> > > > For this particular change, my +1 was based on following aspects:
>> > > > -  it's internal
>> > > > - moving ops procv2 framework (gives failure recovery, locking, etc)
>> > > > - Duo's reasoning - "....the synchronous guarantee is really a good
>> > thing
>> > > > for our replication related UTs..." and "For the replication peer
>> > > tracking,
>> > > > it is the same problem. It is hard to do fencing with zk watcher
>> since
>> > it
>> > > > is asynchronous, so the UTs are always kind of flakey in
>> theoretical."
>> > > >
>> > > > That said, it's pending review.
>> > > > @Duo: As you know it's not possible to spend cycles on it right now
>> -
>> > > > pending 2.0GA - can you please hold it off for few weeks (ideally,
>> > until
>> > > GA
>> > > > + 2-3 weeks) which will give community (whoever interested, at least
>> > > > me..smile) a decent change to review it.
>> > > > Thanks
>> > > >
>> > > > -- Appy
>> > > >
>> > > >
>> > > > On Tue, Mar 13, 2018 at 1:02 AM, Josh Elser <els...@apache.org>
>> wrote:
>> > > >
>> > > > > (Sorry for something other than just a vote)
>> > > > >
>> > > > > I worry seeing a "big" feature branch merge as us falling back
>> into
>> > the
>> > > > > 1.x trap. Starting to backport features into 2.x will keep us
>> > delaying
>> > > > 3.0
>> > > > > as we have less and less incentive to push to release 3.0 in a
>> timely
>> > > > > manner.
>> > > > >
>> > > > > That said, I also don't want my worries to bar a feature which
>> > appears
>> > > to
>> > > > > be related to implementation only (based on one high-level read of
>> > the
>> > > > > changes). Perhaps we need to re-think what is allowable for a Y
>> > release
>> > > > in
>> > > > > x.y.z...
>> > > > >
>> > > > > +1 for master (which already happened, maybe?)
>> > > > > +0 for branch-2 (simply because I haven't looked closely enough at
>> > > > > changes, can read through and try to change to +1 if you need the
>> > > votes)
>> > > > >
>> > > > >
>> > > > > On 3/9/18 2:41 AM, 张铎(Duo Zhang) wrote:
>> > > > >
>> > > > >> Since branch-2.0 has been cut and branch-2 is now 2.1.0-SNAPSHOT,
>> > will
>> > > > >> merge branch HBASE-19397-branch-2 back to branch-2.
>> > > > >>
>> > > > >> 2018-01-10 9:20 GMT+08:00 张铎(Duo Zhang) <palomino...@gmail.com>:
>> > > > >>
>> > > > >> If branch-2.0 will be out soon then let's target this to 2.1. No
>> > > > problem.
>> > > > >>>
>> > > > >>> Thanks.
>> > > > >>>
>> > > > >>> 2018-01-10 1:28 GMT+08:00 Stack <st...@duboce.net>:
>> > > > >>>
>> > > > >>> On Mon, Jan 8, 2018 at 8:19 PM, 张铎(Duo Zhang) <
>> > palomino...@gmail.com
>> > > >
>> > > > >>>> wrote:
>> > > > >>>>
>> > > > >>>> OK, let me merge it master first. And then create a
>> > > > HBASE-19397-branch-2
>> > > > >>>>> which will keep rebasing with the newest branch-2 to see if
>> it is
>> > > > >>>>> stable
>> > > > >>>>> enough. Since we can define this as a bug fix/refactoring
>> rather
>> > > > than a
>> > > > >>>>>
>> > > > >>>> big
>> > > > >>>>
>> > > > >>>>> new feature, it is OK to integrate it at any time. If we
>> think it
>> > > is
>> > > > >>>>>
>> > > > >>>> stable
>> > > > >>>>
>> > > > >>>>> enough before cutting branch-2.0 then we can include it in the
>> > > 2.0.0
>> > > > >>>>> release, else let's include it in 2.1(Maybe we can backport
>> it to
>> > > 2.0
>> > > > >>>>> later?).
>> > > > >>>>>
>> > > > >>>>>
>> > > > >>>>>
>> > > > >>>> I need to cut the Appy-suggested branch-2.0. Shout if
>> > > > >>>> HBASE-19397-branch-2
>> > > > >>>> gets to be too much work and I'll do it sooner rather than
>> later.
>> > > Or,
>> > > > if
>> > > > >>>> easier on you, just say and I'll make the branch-2.0 now so you
>> > can
>> > > > just
>> > > > >>>> commit to branch-2 (branch-2.0 will become hbase2.0, branch-2
>> will
>> > > > >>>> become
>> > > > >>>> hbase2.1...).
>> > > > >>>>
>> > > > >>>> St.Ack
>> > > > >>>>
>> > > > >>>>
>> > > > >>>>
>> > > > >>>>
>> > > > >>>> Thanks all here.
>> > > > >>>>>
>> > > > >>>>> 2018-01-09 12:06 GMT+08:00 ashish singhi <
>> > ashish.sin...@huawei.com
>> > > >:
>> > > > >>>>>
>> > > > >>>>> +1 to merge on master and 2.1.
>> > > > >>>>>> Great work.
>> > > > >>>>>>
>> > > > >>>>>> Thanks,
>> > > > >>>>>> Ashish
>> > > > >>>>>>
>> > > > >>>>>> -----Original Message-----
>> > > > >>>>>> From: 张铎(Duo Zhang) [mailto:palomino...@gmail.com]
>> > > > >>>>>> Sent: Tuesday, January 09, 2018 6:53 AM
>> > > > >>>>>> To: dev@hbase.apache.org
>> > > > >>>>>> Subject: Re: [VOTE] Merge branch HBASE-19397 back to master
>> and
>> > > > >>>>>>
>> > > > >>>>> branch-2.
>> > > > >>>>
>> > > > >>>>>
>> > > > >>>>>> Anyway, if no objections on merging this into master, let's
>> do
>> > it?
>> > > > So
>> > > > >>>>>>
>> > > > >>>>> that
>> > > > >>>>>
>> > > > >>>>>> we can start working on the follow-on features, such as table
>> > > based
>> > > > >>>>>> replication storage, and synchronous replication, etc.
>> > > > >>>>>>
>> > > > >>>>>> Thanks.
>> > > > >>>>>>
>> > > > >>>>>> 2018-01-09 7:19 GMT+08:00 Stack <st...@duboce.net>:
>> > > > >>>>>>
>> > > > >>>>>> On Mon, Jan 8, 2018 at 2:50 PM, 张铎(Duo Zhang) <
>> > > > >>>>>>>
>> > > > >>>>>> palomino...@gmail.com>
>> > > > >>>>
>> > > > >>>>> wrote:
>> > > > >>>>>>>
>> > > > >>>>>>> This 'new' feature only changes DDL part, not the core part
>> of
>> > > > >>>>>>>>
>> > > > >>>>>>> replication,
>> > > > >>>>>>>
>> > > > >>>>>>>> i.e, how to read wal entries and how to replicate it to the
>> > > remote
>> > > > >>>>>>>>
>> > > > >>>>>>> cluster,
>> > > > >>>>>>>
>> > > > >>>>>>>> etc. And also there is no pb message/storage layout change,
>> > you
>> > > > >>>>>>>>
>> > > > >>>>>>> can
>> > > > >>>>
>> > > > >>>>> think of this as a big refactoring. Theoretically we even do
>> not
>> > > > >>>>>>>> need to add
>> > > > >>>>>>>>
>> > > > >>>>>>> new
>> > > > >>>>>>>
>> > > > >>>>>>>> UTs for this feature, i.e, no extra stability works. The
>> only
>> > > > >>>>>>>> visible change to users is that it may require more time on
>> > > > >>>>>>>> modifying peers in shell. So in general I think it is less
>> > hurt
>> > > to
>> > > > >>>>>>>> include it in the coming release?
>> > > > >>>>>>>>
>> > > > >>>>>>>> And why I think it SHOULD be included in our 2.0 release is
>> > > that,
>> > > > >>>>>>>> the synchronous guarantee is really a good thing for our
>> > > > >>>>>>>>
>> > > > >>>>>>> replication
>> > > > >>>>
>> > > > >>>>> related UTs. The correctness of the current Test***Replication
>> > > > >>>>>>>> usually depends
>> > > > >>>>>>>>
>> > > > >>>>>>> on a
>> > > > >>>>>>>
>> > > > >>>>>>>> flakey condition - we will not do a log rolling between the
>> > > > >>>>>>>> modification
>> > > > >>>>>>>>
>> > > > >>>>>>> on
>> > > > >>>>>>>
>> > > > >>>>>>>> zk and the actual loading of the modification on RS. And we
>> > have
>> > > > >>>>>>>> also
>> > > > >>>>>>>>
>> > > > >>>>>>> done
>> > > > >>>>>>>
>> > > > >>>>>>>> a hard work to cleanup the lockings in
>> > ReplicationSourceManager
>> > > > >>>>>>>>
>> > > > >>>>>>> and
>> > > > >>>>
>> > > > >>>>> add a fat comment to say why it should be synchronized in this
>> > > > >>>>>>>>
>> > > > >>>>>>> way.
>> > > > >>>>
>> > > > >>>>> In general, the new code is much easier to read, test and
>> debug,
>> > > > >>>>>>>>
>> > > > >>>>>>> and
>> > > > >>>>
>> > > > >>>>> also reduce the possibility of flakeyness, which could help
>> us a
>> > > > >>>>>>>>
>> > > > >>>>>>> lot
>> > > > >>>>
>> > > > >>>>> when we start to stabilize our build.
>> > > > >>>>>>>>
>> > > > >>>>>>>> Thanks.
>> > > > >>>>>>>>
>> > > > >>>>>>>>
>> > > > >>>>>>>> You see it as a big bug fix Duo?
>> > > > >>>>>>>
>> > > > >>>>>>> Kind of. Just like the AM v1, we can do lots of fix to make
>> it
>> > > more
>> > > > >>>>>> stable, but we know that we can not fix all the problems
>> since
>> > we
>> > > > >>>>>>
>> > > > >>>>> store
>> > > > >>>>
>> > > > >>>>> state in several places and it is a 'mission impossible' to
>> make
>> > > all
>> > > > >>>>>>
>> > > > >>>>> the
>> > > > >>>>
>> > > > >>>>> states stay in sync under every situation... So we introduce
>> AM
>> > v2.
>> > > > >>>>>> For the replication peer tracking, it is the same problem.
>> It is
>> > > > hard
>> > > > >>>>>>
>> > > > >>>>> to
>> > > > >>>>
>> > > > >>>>> do fencing with zk watcher since it is asynchronous, so the
>> UTs
>> > are
>> > > > >>>>>>
>> > > > >>>>> always
>> > > > >>>>>
>> > > > >>>>>> kind of flakey in theoretical. And we depend on replication
>> > > heavily
>> > > > at
>> > > > >>>>>> Xiaomi, it is always a pain for us.
>> > > > >>>>>>
>> > > > >>>>>>
>> > > > >>>>>>> I'm late to review. Will have a look after beta-1 goes out.
>> > This
>> > > > >>>>>>>
>> > > > >>>>>> stuff
>> > > > >>>>
>> > > > >>>>> looks great from outside, especially distributed procedure
>> > > framework
>> > > > >>>>>>> which we need all over the place.
>> > > > >>>>>>>
>> > > > >>>>>>> In general I have no problem w/ this in master and an hbase
>> 2.1
>> > > > (2.1
>> > > > >>>>>>> could be soon after 2.0). Its late for big stuff in 2.0....
>> but
>> > > let
>> > > > >>>>>>>
>> > > > >>>>>> me
>> > > > >>>>
>> > > > >>>>> take a looksee sir.
>> > > > >>>>>>>
>> > > > >>>>>>> Thanks sir. All the concerns here about whether we should
>> merge
>> > > > this
>> > > > >>>>>>
>> > > > >>>>> into
>> > > > >>>>
>> > > > >>>>> 2.0 are reasonable, I know. Although I really want this in 2.0
>> > > > >>>>>>
>> > > > >>>>> because I
>> > > > >>>>
>> > > > >>>>> believe it will help a lot for stabilizing,  I'm OK with
>> merge it
>> > > to
>> > > > >>>>>>
>> > > > >>>>> 2.1
>> > > > >>>>
>> > > > >>>>> only if you guys all think so.
>> > > > >>>>>>
>> > > > >>>>>>
>> > > > >>>>>>> St.Ack
>> > > > >>>>>>>
>> > > > >>>>>>>
>> > > > >>>>>>>
>> > > > >>>>>>>
>> > > > >>>>>>>
>> > > > >>>>>>> 2018-01-09 4:53 GMT+08:00 Apekshit Sharma <
>> a...@cloudera.com>:
>> > > > >>>>>>>>
>> > > > >>>>>>>> Same questions as Josh's.
>> > > > >>>>>>>>> 1) We have RCs for beta1 now, which means only commits
>> that
>> > can
>> > > > >>>>>>>>>
>> > > > >>>>>>>> go
>> > > > >>>>
>> > > > >>>>> in
>> > > > >>>>>>>>>
>> > > > >>>>>>>> are
>> > > > >>>>>>>
>> > > > >>>>>>>> bug fixes only. This change - although important, needed
>> from
>> > > > >>>>>>>>>
>> > > > >>>>>>>> long
>> > > > >>>>
>> > > > >>>>> time
>> > > > >>>>>>>>>
>> > > > >>>>>>>> and
>> > > > >>>>>>>>
>> > > > >>>>>>>>> well done (testing, summary, etc) - seems rather very
>> large
>> > to
>> > > > >>>>>>>>>
>> > > > >>>>>>>> get
>> > > > >>>>
>> > > > >>>>> into
>> > > > >>>>>>>>>
>> > > > >>>>>>>> 2.0
>> > > > >>>>>>>>
>> > > > >>>>>>>>> now. Needs good justification why it has to be 2.1
>> instead of
>> > > > >>>>>>>>>
>> > > > >>>>>>>> 2.0.
>> > > > >>>>
>> > > > >>>>>
>> > > > >>>>>>>>> -- Appy
>> > > > >>>>>>>>>
>> > > > >>>>>>>>>
>> > > > >>>>>>>>> On Mon, Jan 8, 2018 at 8:34 AM, Josh Elser <
>> > els...@apache.org>
>> > > > >>>>>>>>>
>> > > > >>>>>>>> wrote:
>> > > > >>>>>>
>> > > > >>>>>>>
>> > > > >>>>>>>>> -0 From a general project planning point-of-view (not
>> based
>> > on
>> > > > >>>>>>>>>> the technical merit of the code) I am uncomfortable about
>> > > > >>>>>>>>>> pulling in a
>> > > > >>>>>>>>>>
>> > > > >>>>>>>>> brand
>> > > > >>>>>>>>
>> > > > >>>>>>>>> new feature after we've already made one beta RC.
>> > > > >>>>>>>>>>
>> > > > >>>>>>>>>> Duo -- can you expand on why this feature is so important
>> > that
>> > > > >>>>>>>>>> we
>> > > > >>>>>>>>>>
>> > > > >>>>>>>>> should
>> > > > >>>>>>>>
>> > > > >>>>>>>>> break our release plan? Are there problems that would make
>> > > > >>>>>>>>>> including
>> > > > >>>>>>>>>>
>> > > > >>>>>>>>> this
>> > > > >>>>>>>>
>> > > > >>>>>>>>> in a 2.1/3.0 unnecessarily difficult? Any kind of color
>> you
>> > > > >>>>>>>>>>
>> > > > >>>>>>>>> can
>> > > > >>>>
>> > > > >>>>> provide
>> > > > >>>>>>>
>> > > > >>>>>>>> on
>> > > > >>>>>>>>>
>> > > > >>>>>>>>>> "why does this need to go into 2.0?" would be helpful.
>> > > > >>>>>>>>>>
>> > > > >>>>>>>>>>
>> > > > >>>>>>>>>> On 1/6/18 1:54 AM, Duo Zhang wrote:
>> > > > >>>>>>>>>>
>> > > > >>>>>>>>>> https://issues.apache.org/jira/browse/HBASE-19397
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>>> We aim to move the peer modification framework from zk
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>> watcher
>> > > > >>>>
>> > > > >>>>> to procedure
>> > > > >>>>>>>>>>> v2 in this issue and the work is done now.
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>>> Copy the release note here:
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>>> Introduce 5 procedures to do peer modifications:
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>>> AddPeerProcedure
>> > > > >>>>>>>>>>>> RemovePeerProcedure
>> > > > >>>>>>>>>>>> UpdatePeerConfigProcedure
>> > > > >>>>>>>>>>>> EnablePeerProcedure
>> > > > >>>>>>>>>>>> DisablePeerProcedure
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>>> The procedures are all executed with the following
>> stage:
>> > > > >>>>>>>>>>>> 1. Call pre CP hook, if an exception is thrown then
>> give
>> > up
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> 2.
>> > > > >>>>
>> > > > >>>>> Check whether the operation is valid, if not then give up 3.
>> > > > >>>>>>>>>>>> Update peer storage. Notice that if we have entered
>> this
>> > > > >>>>>>>>>>>> stage,
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> then
>> > > > >>>>>>>>
>> > > > >>>>>>>>> we
>> > > > >>>>>>>>>>>> can not rollback any more.
>> > > > >>>>>>>>>>>> 4. Schedule sub procedures to refresh the peer config
>> on
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> every
>> > > > >>>>
>> > > > >>>>> RS.
>> > > > >>>>>>
>> > > > >>>>>>> 5. Do post cleanup if any.
>> > > > >>>>>>>>>>>> 6. Call post CP hook. The exception thrown will be
>> ignored
>> > > > >>>>>>>>>>>> since we
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> have
>> > > > >>>>>>>>>
>> > > > >>>>>>>>>> already done the work.
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>>> The procedure will hold an exclusive lock on the peer
>> id,
>> > so
>> > > > >>>>>>>>>>>> now
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> there
>> > > > >>>>>>>>
>> > > > >>>>>>>>> is
>> > > > >>>>>>>>>
>> > > > >>>>>>>>>> no concurrent modifications on a single peer.
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>>> And now it is guaranteed that once the procedure is
>> done,
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> the
>> > > > >>>>
>> > > > >>>>> peer modification has already taken effect on all RSes.
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>>> Abstracte a storage layer for replication peer/queue
>> > > > >>>>>>>>>>>> manangement,
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> and
>> > > > >>>>>>>
>> > > > >>>>>>>> refactored the upper layer to remove zk related
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> naming/code/comment.
>> > > > >>>>>>>
>> > > > >>>>>>>>
>> > > > >>>>>>>>>>>> Add pre/postExecuteProcedures CP hooks to
>> > > > >>>>>>>>>>>> RegionServerObserver, and
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> add
>> > > > >>>>>>>>
>> > > > >>>>>>>>> permission check for executeProcedures method which
>> requires
>> > > > >>>>>>>>>>>> the
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> caller
>> > > > >>>>>>>>
>> > > > >>>>>>>>> to
>> > > > >>>>>>>>>>>> be system user or super user.
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>>> On rolling upgrade: just do not do any replication peer
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> modifications
>> > > > >>>>>>>
>> > > > >>>>>>>> during the rolling upgrading. There is no pb/layout changes
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>> on
>> > > > >>>>
>> > > > >>>>> the peer/queue storage on zk.
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>>>
>> > > > >>>>>>>>>>>> And there are other benefits.
>> > > > >>>>>>>>>>> First, we have introduced a general procedure framework
>> to
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>> send
>> > > > >>>>
>> > > > >>>>> tasks
>> > > > >>>>>>>
>> > > > >>>>>>>> to
>> > > > >>>>>>>>
>> > > > >>>>>>>>> RS
>> > > > >>>>>>>>>>> and report the report back to Master. It can be used to
>> > > > >>>>>>>>>>> implement
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>> other
>> > > > >>>>>>>>
>> > > > >>>>>>>>> operations such as ACL change.
>> > > > >>>>>>>>>>> Second, zk is used as a external storage now since we do
>> > not
>> > > > >>>>>>>>>>> depend
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>> on
>> > > > >>>>>>>
>> > > > >>>>>>>> zk
>> > > > >>>>>>>>>
>> > > > >>>>>>>>>> watcher any more, it will be much easier to implement a
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>> 'table
>> > > > >>>>
>> > > > >>>>> based'
>> > > > >>>>>>>
>> > > > >>>>>>>> replication peer/queue storage.
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>>> Please vote:
>> > > > >>>>>>>>>>> [+1] Agree
>> > > > >>>>>>>>>>> [-1] Disagree
>> > > > >>>>>>>>>>> [0] Neutral
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>>> Thanks.
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>>>
>> > > > >>>>>>>>>
>> > > > >>>>>>>>> --
>> > > > >>>>>>>>>
>> > > > >>>>>>>>> -- Appy
>> > > > >>>>>>>>>
>> > > > >>>>>>>>>
>> > > > >>>>>>>>
>> > > > >>>>>>>
>> > > > >>>>>>
>> > > > >>>>>
>> > > > >>>>
>> > > > >>>
>> > > > >>>
>> > > > >>
>> > > >
>> > > >
>> > > > --
>> > > >
>> > > > -- Appy
>> > > >
>> > >
>> >
>>
>
>

Reply via email to