[Bizgres-general] Another use case

Mark Kirkwood mkirkwood at greenplum.com
Wed Aug 9 05:41:17 UTC 2006


Luke Lonergan wrote:
> Mark,
>
>   
>
> We had a good meeting about queuing today.  The consensus is that we should
> get something out to the field quickly that we think is basically usable.
>
>   

Excellent! - I think starting simple is a very good approach.

> Here are some of the thoughts about the what the first implementation should
> achieve:
> - Every user has a single queue mapped to them, no need for multiple
> selectable queues per user
> - The queues should be manageable:
>   - A query can be issued to show the statements running in each queue
>   - Queries can be killed using a SQL statement
>   

Right - pretty much now it works today (wipes brow...). Showing and 
killing should be fairly easy (famous last words).

> - Queues should have a default nice value, from 0 to 19
>
>   

As in nice(1)?  - so we're gonna set the backend's process priority 
(this is the bit where we have to be careful about priority inversion). 
Aside, with his cross platform hat on - is there an equivalent system 
call on win32?

> We talked through a number of issues that will need to be tackled in the
> next phases including:
> - planned queries hold locks, then are queued, which inappropriately couples
> queues together
>   

Not sure I get what this one is saying...

> - The statement classification problem involves a number of issues:
>   - an outer bound on memory consumption is calculable, but better estimates
> are more challenging
>   - statement costs are approximate, and may not be sufficient to estimate
> the time statements actually take
>   - we may want two types of classification, the first would characterize
> statements that use conflicting lock types, say those with EXCLUSIVE locks,
> typical of DML statements and those with ACCESS SHARE locks, typical of DQL.
> The second level of classification would use a time or cost estimate.
> - Once we have implemented a solid classification mechanism, we can
> implement a mapping of class to queues using a vector of limits, one entry
> for each statement class.
>
>   

Exactly - working out the classification criteria is where the work is 
for this!

> We'll talk more next week, but it looks like you've basically implemented
> enough to get started.
>
>
>   
Great - see you all next week!

Cheers

Mark


More information about the Bizgres-general mailing list