This post is not technical!

I try to be polite and politically correct, and that has being a problem for me several times, because it pays only in long term.

But to day I need to talk about MySQL-Proxy so I can say something not pleasant for someone.

I have found myself in trouble several time because MySQL-Proxy for stability reasons and performance issues, but a part from that it normally works as expected.Is really up to you and how you uses normally if you will get in trouble or not.

But ... hey MySQL-Proxy is an ALPHA product, oh my!!

It is an ALPHA not even BETA or RC, more reading the documentation TODAY:"This documentation covers MySQL Proxy 0.8.0.Warning

MySQL Proxy is currently an Alpha release and should not be used within production environments."

Honestly I have being mention MySQL -Proxy several times to customer but I always say to them, IT IS ALPHA, if you want I will install it,I will configure and write for you special LUA scripts, BUT you must sign a paper that state you take the responsibility of installing an ALPHA product in production.

Normally the 90% of customers stops to go ahead, and try to find a different solution.

Well you know is an ALPHA product so, I say to myself too bad, we should not expect a fast resolution.We wait for a while then nothing really "serious" happened there, no fix, nothing, so we decide to drop it from the architecture.The customer was not happy and neither I.

But I take note of it, and given I KNOW that MySQL Enterprise monitor use MySQL-Proxy I decide to dedicate some time to check, if this is still the case or not.

Today, I had a discussion with my 9 years Son, and to relax a little I put myself in front of some fun ... working with MySQL, yes I still enjoy it.

So I take out the Enterprise installation I did install it and then test it.

As expected MySQL-Proxy is still there, and documentations states:"Using the MySQL Proxy functionality built into MySQL Enterprise Agent. This is the method offered and supported since MySQL Enterprise Monitor 2.0."

All good then, we have the possibility to add our own monitor or to use the default one provided by Oracle.

Hey wait a minute, is this a GA product? No it is an Enterprise Product!

So why the MySQL Enterprise Monitor is using as default solution for an important functionality as the Slow Query Review an ALPHA product?

This sounds really odd to me.

Given I think no one will be happy to pay money for an ALPHA product, that has also issue with the latest MySQL versions, and given I think that lawyers in Oracle knows quite well their works.I come to the conclusion that the MySQL-Proxy included in the Enterprise version is different from the one available.

Or at least I hope that for all the ones that are paying solid money for MySQL Enterprise Manager.

In any case, it is very sad that good and valuable work done in the past years by Jan Kneschke, and others like GiusePPe Maxia, is left behind damaging the community.

MySQL-Proxy is still the only solution for many stupid issues left behind in the MySQL programming, like user audit.

I recently had to implement a detailed audit of the actions done by Administrator on a MySQL instance.The only very good and manageable solution was at the end the use of MySQL-Proxy, I will describe the work done in another post.

What I want to stress and reiterate here is:

IF MySQL-Proxy is so good to be in the MySQL Enterprise Monitor, that we assume it should be the top of stability, why then is still declared ALPHA??

IF MySQL-Proxy in Enterprise is a different product, then WHY it is not state in a clear way somewhere?

Finally WHY MySQL-Proxy is not correctly fixed and align with the latest MySQL products?

Simple questions that comes to my mind, I am not expecting an answer but may be some paying customers, will have the same doubts I have, and it could be that given they pay they will get a real answer back from Oracle.

MySQL Proxy is an Alpha and a GA product at the same time. It is Alpha as general purpose proxy, it is GA as as query analyser.

Oracle have extensively tested Proxy as query analyzer and they have fixed several bugs in that area - you can check yourself in the changelog. Of course I would like to see a generally available Proxy GA, but it looks like there are different priorities, so we should look somewhere else or accept the Alpha version.

-ivan

|SAdministrator
|2011-10-01 22:52:37
Marco Tusa

Hi Ivan, thks for your comment, actually nothing new from what you say and nothing really satisfy my points which are :
* IF MySQL-Proxy is so good to be in the MySQL Enterprise Monitor, that we assume it should be the top of stability, why then is still declared ALPHA??
* IF MySQL-Proxy in Enterprise is a different product, then WHY it is not state in a clear way somewhere?
* Finally WHY MySQL-Proxy is not correctly fixed and align with the latest MySQL products?

About priorities, well nothing new either.

tks again and have a nice day.

|85.230.108.143
|2011-10-02 01:22:15
Anders Karlsson

Ivan!

You are just plain wrong here. If something X is tested for purpose Y, and nuthin' else, then that is what X does, nuthin' else. If it is alpha it's alpha, if it's GA it's GA. It can be GA for purpose X and not for something else it was not inteneded to do in the first place, that's not how things work, I am sorry. If MySQL Proxy was only intended to be used as a query analyzer and nuthin' else, and it's GA for that, then that is what it does and nutin' else.
That Oracle has only done testing in some area or the other is beside the point, as, as well all know I hope, quality comes not from fixing bugs, but from design.
If a car of brand X is a good family car but pretty crappy as a sports car, it's not so that it' sports car attributes are "alpha", rather it's so that it's a family car, not a sports car.
And in all honesty, after all these years, you have to assume that good old Big-O invested in MySQL Proxy as a query analyzer, nuthin' else. Right? If they invested in it as a general MySQL protocol analysis tool and it still, after all this time, sucks at that, then they would have stopped developing it? Right?
Can you or someone else point to the explicit code paths in MySQL Proxy that are "alpha" and which code paths that are "GA"? If we (i.e. Oracle) knows for sure which code paths are only "aplha", then why are not tose code paths removed? But I have to assume that quality doesn't come from just testing it in some particular Query Analyzer specific test that only touch specific code paths? Or? And is it doecumented which those are then? And if not, how can someone claim that it's GA?
And to be clear here, yes, I think MySQL Proxy was well designed as a general purpose tool from the start. Actually I KNOW this is the case. But I do NOT for a moment beleive that a not GA product can be given GA OK on only certain use cases, when it was designed from scratch with the wider scope in mind.
Would Range-Rover get a away woth saying that the new Land-Rover Dicrovery was only tested on the highway, and hence it's OK for it to break down on the dirtroad? No way, José. It it was designed for both the dirtroad and the highway, it should handle both. And if it was only designed for the highway, then say so.
I am sorry but you are completely wrong here Ivan. And this is not to point fingers at the MySQL Proxy developers, rather, I'm pointint fingers at the unknown PHBs in management that gets away with this and ignores the potential of MySQL Proxy.
I agree with Marco here: Which one is it: Is MySQL Proxy for use in general applications or or only as part of MySQL Monitor (I assume the latter). If itä's only the latter, then what are the guarantees that I don't get into the "bad" codepaths that are Alpha-only.
Or, to put it differently: MySQL/Sun/Oracle management of MySQL Proxy sucks: You made a fine general product with lots of added value into a useless one.

You are sooo wrong here. Completely so. If there are codepaths that are alpha, that are never touched when used as a Query Analyzer, why are those code paths around at all? And if someone know what didn't work, then why isn't that fixed? No, either it's alpha or it's GA, but as long as it's the same code, it can't be both. It just can't.
And saying something else is an insult to the original developers wanting to develop a general purpose tool, and later being trapped by some PHB's.

/Karlsson

|93.201.111.31
|2011-10-02 14:58:35
Jan Kneschke

#61474 should be fixed since the release of 0.8.2 as the bug-report says.

On the other point: as stated from the very beginning MySQL Proxy isn't GA as it hasn't reached the 1.0 state yet where we have a stable API and such. It doesn't mean the proxy itself unstable and crashes every few minutes. We just want to do it right and provide a stable API you can script against, write plugin against, ... when we have a 1.0 and want to maintain that.

The 0.9 series of MySQL Proxy will be have plenty of those changes that clean up the filenames, the function names and so on. Those have to be stable if you want to write plugins against it.

|SAdministrator
|2011-10-02 17:44:08
Marco Tusa

Jan,
thanks for the comment.
About the fix I need to ask customer to test it if still willing to do it, we were monitoring the Bug, and given there was no update on it and given that was the parent bug for the others we have missed the possible fix. Will let you know.

About the discussion of the version, I follow you and understand what you say, but still the point is: if to be GA (and more non GA but Enterprise) product must be V 1.0 at least.
How it can be in the Enterprise a version 0.8.x ?

I have being working with MySQL-proxy for a while and I know we can trust it if we use correctly.
What I am afraid is to see it becoming another Enterprise ONLY feature, or having the good fix only for those one.
This from one side.
From the other, again I disagree on the use of alpha or beta product in Enterprise version.

Thank you for you work and commitment, hope it will continue to be useful for the whole community.