@markv - I completely agree, the speed of MonetDB is what makes it so compelling and I don't think performance should be compromised. As for features, here's another way to frame the discussion. If you were going to promote MonetDB to a colleague what product(s) would you compare it to? Row based, column based, embedded, open source, commercial, etc? Or, if MonetDB didn't exist what would you be using instead? MDB is an excellent product but in my opinion it doesn't receive the full attention it deserves because it's kinda' stuck between application storage engine and database server. Just hoping to spur a community discussion to see what types of things are important to people and see if there is a common thread.

Back to the tech discussion.

> If you login as admin, you can simply use "KILL", otherwise you can't.
> Simple.

Using the cartesian join example again , the way I understood Martin's email is that killing the client would only kill the thread which launched the command and the mserver5 process would keep running unaware that the client had stopped. Additionally if the client was remote you wouldn't have the ability to kill it directly. I don't think resource optimization wouldn't need to be built into the server, just the ability to look inside and stop individual requests. Which brings up something Fabian mentioned, Merovingian.

Perhaps the discussion about logging and client management moves towards mero. It makes sense, mserver5 can continue to do what it does best while admin/operations are handled at a supervisor level. Merovingian already has a base for things like clustering and failover. Security could be built out. Detailed query logging with different debug levels could be included. This gives people the option to turn on/off overhead functions.

-Ross






On Sat, Jan 31, 2009 at 6:56 AM, Martin Kersten <Martin.Kersten@cwi.nl> wrote:
Fabian Groffen wrote:
> On 31-01-2009 10:23:42 +0100, Martin Kersten wrote:
>> Fabian Groffen wrote:
>>> On 30-01-2009 21:59:15 -0600, Ross Bates wrote:
>>>
>>> As to the possibility to kill a client, perhaps we can just create a
>>> hook at the MAL level.  It is worth to open up a feature request for
>>> this, I think.
>> The hooks are available in the kernel to stop a client between
>> individual MAL statements. It requires protocol extensions for
>> out of bound messages, or a secure scheme to open a second connection
>> using the same user credentials to shoot off another.
>> Then a SQL command like "call resetClient()" could be made to do
>> the trick.
>
> If you login as admin, you can simply use "KILL", otherwise you can't.
> Simple.
Well, src/modules/mal/client.mx contains hooks to play with:
client.suspend, client.resume, client.stop, client.shutdown.
Extensive testing has not been performed.
>
>> This does not solve the point raised, i.e. to stop instructions
>> in the middle of their processing. This is one of the design
>> issues why MonetDB can be fast, i.e. in the inner loop of bulk
>> operations avoid time checking environment status.
>
> Yes, but it does allow to stop a client earlier than it is now.  E.g. it
> allows you to shoot a client that you want to get off of your system,
> such as when you bring it down to maintenance mode.  When you get tired
> of waiting, you just shoot the clients that are still connected/idle.
Idle clients are no issue. Their connections can be killed safely.

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
MonetDB-users mailing list
MonetDB-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/monetdb-users