Brian,

Though... the problem still exists that a port that continues to
"block" will hold up any other transactions that will conflict. In the
current state this is a bit worse then what it should be because we
are not releasing to another sessions well enough (aka... we need to
do this on IO event). Even fixing that though... this type of
scheduler will only really work for cases were you have short
transactions, or a large amount of read IO. In the end, libevent just
gives us a scheduler for one particular type of IO.

I don't think it's actually possible to have a completely generic scheduler which automatically does the right thing for all kinds of queries. Even Linux has 4 I/O schedulers to choose from.

If you want a scheduler which supports a mixed load, then the application developer would have to tune that scheduler by providing it with information about which queries where more important than others. If users have explicit transactions, this gets even more complicated.

However, I didn't think it was a Drizzle goal to even support long-running statements. No?

--Josh


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to