Hi!
Many months ago Mark pushed the scheduler framework into the tree.
This last weekend, in part prompted by Mark Callaghan's comments, I
pulled the existing framework into the plugin and removed any vestiges
of it not being pluggable.
Right now we have two models. One is the pool of threads, and another
which causes the server to handle connections one at a time with no
threads. I have a multi-thread scheduler almost complete, but I need
to finish it up by getting rid of a memory leak in it.
So right now there are some obvious problems I see in the schedulers:
1) The lock for max connection needs to be pushed down into the
scheduler. This is ham stringing performance (it is also making the
scheduler sort of tricky).
2) The libevent usage is far from excellent. While it is making good
use of bringing up only active IO, release of IO is not being done
well (compared to say Memcached/Gearman/etc).
3) We should have a scheduler which is more cost based so that you can
make sure you never get hamstrung on slow queries. I have a few ideas
on this, but I need to think it through a bit more.
One thing to note, all scheduler code is now plugin based. If you have
an open build, you need to do a rm -r -f autom4te.cache/ and then do
a .//config/autorun.sh
If anyone is interested in writing a plugin for this, either start
here or find me on IRC (where IRC is better for faster back and forth
conversation)
Cheers,
-Brian
--
_______________________________________________________
Brian "Krow" Aker, brian at tangent.org
Seattle, Washington
http://krow.net/ <-- Me
http://tangent.org/ <-- Software
_______________________________________________________
You can't grep a dead tree.
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp