qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bill Freeman <ke1g...@gmail.com>
Subject Re: Questions from a novice
Date Fri, 05 Apr 2013 20:20:37 GMT
On Fri, Apr 5, 2013 at 3:38 PM, Ken Giusti <kgiusti@redhat.com> wrote:

> ----- Original Message -----
> > From: "Bill Freeman" <ke1g.nh@gmail.com>
>
> QMF V2 has been available for some time now, and we've cut all the project
> tools and libraries over to speaking it.  If we start down the road to
> deprecating V1, turning off the broker updates is about the least risky
> first step I can think of.  It would not remove v1 at all - but it would
> require manual intervention to restore the old behavior. Having to
> explicitly take that action would be a (hopefully gentle) nudge to assess a
> deployment's V1 dependency.
>
>
> I think the on line documentation may have something to answer for here.
When I started this project, since we are using MRG, I started with
RedHat's documentation, but didn't find any advice about coding QMF.  Then
Google got me to the Apache Qpid pages, link to QMF, and eventually
dribbled down to an example that became the base of my current design.
That was based on qmf.console.  There was no insight there about selecting
V1 versus V2.  There were also several pages, at least, that seemed to
imply that V1 was now, and everything would support it, while V2 was new
and for the future, and not universally supported (and that turned out to
be correct until your patch).

I think that the concept that consoles, for some time yet to come, should
endeavor to support both versions, is a good one.  They should perhaps log
a deprecation warning if they discover a V1 only broker (aren't V2 brokers
supposed to translate for V1 only agents?), but they should work anyway.

One thing that makes it tough for consoles to do so, at least if they are
based on qmf.console, is the fact that the objectProps callback is shared
between versions, but has a different meaning.  One callback carrying
deltas is a good design, but it seems that either it should use a
completely separate callback, or it should call both objectProps and
objectStats (in that order), omitting objectProps if it has no properties,
and omitting objectStats if it has no statistics.  A V2 specific callback
would be my preference, but only by a little.  Since the other stuff has
never been called for V2 updates before, this is the time to make that
change.

And I guess that's also a potential problem with making the fix from your
patch: Code that has been working for years using qmf.console has never
received a V2 objectProps call before may not work with it (mine certainly
didn't).  A separate callback for V2 updates fixes this issue.

Bill

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message