Hi, Regarding the "improving replication policy in drizzle" I am writing a project proposal. I have talked to Stewart about this project over IRC channel.
1. This project's main goal is to implement a facility to wait for an event on a table. 2. The slave currently polls the master at regular intervals which is configurable, for replication events.If the above mentioned feature is implemented, instead of polling, we could send signals to slave regarding changes in replication log. 3. Finally we would make sure all the test cases still pass. *Implementation Overview:* 1. There is already a plugin for function interfaces in drizzle. We would use this interface to build our function interface which would wait for events on a specified table or database. The interface would be something like SELECT WAIT_FOR(INSERT, "local/test/table1"). This would wait for INSERT events on "table1" table and it would notify the slave of an insert event on the specified table. There is already an example of how to use function interface in plugin folder i.e. hello_world. I am currently trying to create an interface which would take arguments from an user looking at the above hello_world plugin. 2. There is already a plugin for monitoring the events in drizzled which is the event monitoring interface. There is also another plugin in drizzle/plugin/hello_events which waits for an event on a specified database or table which is specified in the command line while starting drizzled and prints to the console about the changes. We would use the event observer interface to create another interface which when given a table name or database name, notifies the observers of the changes happening. For e.g. this could be a slave which is interested in changes happening in the 'replication_log' table. 3. In part three of the project we would make sure all type of events on which a slave is interested is covered in our interface and all the test cases for slave still pass. Am I required to produce some UML diagrams, use cases and design document? I have not included the time out part because I couldn't understand the need of it. let's say there is this statement SELECT WAIT_FOR(INSERT, 'replication_log', 1). Does this mean that this would notify the slave of inserts which takes place within 1 second of issuing this statement? Thanks and Regards, Ajaya K Agrawal IIT Hyderabad irc nick name: aj_*
_______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : drizzle-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp