On Tue, 3 Nov 2015 06:40:32 -0700 Eric Blake <ebl...@redhat.com> wrote:
> On 11/03/2015 06:19 AM, Luiz Capitulino wrote: > > On Tue, 03 Nov 2015 08:17:58 +0100 > > Markus Armbruster <arm...@redhat.com> wrote: > > > >>> So at this point, I want to see if lloyd makes any progress towards an > >>> actual yajl release and/or adding a co-maintainer, before even trying to > >>> get formal upstream support for single quoting. We could always create > >>> a git submodule with our own choice of fork (since there are already > >>> forks that do single-quote parsing) - but the mantra of 'upstream first' > >>> has a lot of merit (I'm reluctant to fork without good reason). > >> > >> The value proposition of replacing our flawed JSON parser isn't in > >> saving big on maintenance, it's in not having to find and fix its flaws. > >> > >> If the replacement needs a lot of work to fit our needs, the value > >> proposition becomes negative. > >> > >> A JSON parser shouldn't require much maintenance, as JSON is simple, > >> doesn't change, and parsing has few system dependencies. > > > > Let me suggest this crazy idea: have you guys considered breaking > > compatibility? > > As in, requiring QMP clients to send "quotes" rather than 'quotes'? Yes. > It's worth considering (we already guarantee that our output is strict > JSON, and that the 'quotes' on input is merely for convenience). If we > want to go that route, than 2.5 should document loudly that we are > deprecating 'quotes' in QMP, so that 2.6 can actually remove it when > switching to yajl. I'd go for more craziness: disable the feature for the next release and watch. If we suddenly found out that there are some big users of the feature, we back off and re-enable it on a -stable release. > And as single quotes appears to be the only JSON > extension we have been relying on, I think that would indeed free us > from having to wait for a yajl release or carry our own yajl fork. > > Interesting idea; I'm still thinking whether it would help us more than > it would hurt lazy clients that were depending on the extension. The point is, apart from libvirt, I've never heard of any serious QMP client that's not a simple automation script. And I'd bet those are sending in "quotes" to talk to QMP.