From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=36553 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OXDkd-000192-L7 for qemu-devel@nongnu.org; Fri, 09 Jul 2010 09:36:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OXDka-00081l-BY for qemu-devel@nongnu.org; Fri, 09 Jul 2010 09:36:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:9842) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OXDka-00081J-0G for qemu-devel@nongnu.org; Fri, 09 Jul 2010 09:36:20 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o69DaIg2015996 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 9 Jul 2010 09:36:19 -0400 Date: Fri, 9 Jul 2010 10:36:15 -0300 From: Luiz Capitulino Subject: Re: [Qemu-devel] [PATCH 2/2] QMP: Require 'use_unstable' arg for capabilities negotiation Message-ID: <20100709103615.64f5046f@redhat.com> In-Reply-To: References: <1278454757-5493-1-git-send-email-lcapitulino@redhat.com> <1278454757-5493-3-git-send-email-lcapitulino@redhat.com> <20100709095017.2b3b9677@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: qemu-devel@nongnu.org On Fri, 09 Jul 2010 15:24:48 +0200 Markus Armbruster wrote: > Luiz Capitulino writes: > > > On Fri, 09 Jul 2010 10:44:32 +0200 > > Markus Armbruster wrote: > > > >> Luiz Capitulino writes: > >> > >> > This helps ensuring two things: > >> > > >> > 1. An initial warning on client writers playing with current QMP > >> > 2. Clients using unstable QMP will break when we declare QMP stable and > >> > drop that argument > [...] > >> Is it really necessary to break all existing users of QMP? > > > > The protocol is going to change, they will break anyway. > > Then why break them now in addition to then? Existing clients? Yes, you have a point. Although our only known existing client atm is libvirt. > >> What are we trying to accomplish by that? > > > > QMP in 0.13 is in usable state. I fear that people will start using it > > without noting/caring the protocol is going to be different in 0.14. > > > > The removal of this flag in 0.14 (assuming we'll have a stable QMP by then), > > makes clients break right away, instead of unexpected breaking in subtle ways. > > > > This makes it easy to identify what's wrong and the message will be: you > > should review your QMP usage, because the protocol has changed. > > > > That said, I'm not that strong about this particular solution. What I really > > would like to have is an easy way to identify old clients using a now > > stable version of QMP. > > If we want obsolete clients to break when we release 0.14, then let's > break them then. No need to break not-yet-obsolete clients now. > Especially not in a way that unbreaks them in 0.14, when they are > *really* obsolete. I don't think we have that many clients today, the only known one is libvirt. So, this patch takes only new clients in consideration, those who might start using QMP in 0.13. Again, I'm ok with a different solution. I just want to go beyond a README file warning. What about a "warning" key in the greeting message? Like: "warning": "QMP is unstable, it will break soon!" Not sure it matters as our greeting message is a bit too verbose, but seems better than nothing.