On 7/24/09 1:56 AM, "Paul McCullagh" <[email protected]> wrote:

> On Jul 23, 2009, at 3:15 PM, Stewart Smith wrote:
> 
>> On Tue, Jul 21, 2009 at 09:28:54PM -0700, MARK CALLAGHAN wrote:
>>> How is the serial log to be kept in sync with a storage engine given
>>> the Applier interface? MySQL uses two phase commit, but the Applier
>>> interface has one method, ::apply(). In addition to methods for
>>> performing 2PC, keeping a storage engine and the serial log in sync
>>> requires additional methods for crash recovery to support commit or
>>> rollback of transactions in state PREPARED in the storage engine
>>> depending on the outcome recorded in the serial log.
>> 
>> The bit that keeps banging in my head in regards to this is storing it
>> in the same engine as part of the transaction and so avoiding 2pc.
> 
> We discussed this on Drizzle Day, and that was my recommendation.
> 
> This would mean, after a transaction has committed, the replication
> system asks the engine for a "list of operations" that were performed
> by the transaction.
> 
> For engines that have this information in their transaction log, it is
> a relatively simple task.
> 

So at the engine level there would be something like a 'get' and 'put' for
transactions so that on the Master server after a commit the 'get' method is
called and the data is sent to the slaves where they call the engines 'put'
method to apply the transaction?

Would it be possible to cut out the middle man here and have the server tell
the engine where it's slaves are and the engine can just send the committed
transactions directly to the slave engines? This would make it a lot easier
to stream the transactions.


>> Then, in 99.9% of cases when there are not cross engine
>> transactions, we
>> never need 2pc.
>> 
>> Although I haven't given this intense deep thought as to various
>> corner cases...
>> 
>> -- 
>> Stewart Smith
>> 
>> _______________________________________________
>> Mailing list: https://launchpad.net/~drizzle-discuss
>> Post to     : [email protected]
>> Unsubscribe : https://launchpad.net/~drizzle-discuss
>> More help   : https://help.launchpad.net/ListHelp
> 
> 
> 
> --
> Paul McCullagh
> PrimeBase Technologies
> www.primebase.org
> www.blobstreaming.org
> pbxt.blogspot.com
> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~drizzle-discuss
> Post to     : [email protected]
> Unsubscribe : https://launchpad.net/~drizzle-discuss
> More help   : https://help.launchpad.net/ListHelp

-------------------------------------------------------------------------
Barry Leslie

SNAP Innovation Softwareentwicklung GmbH
Senior Software Engineer

Tel: (001) 250 595 4228
Fax: (001) 250 595 4233
Email: [email protected]
Web: www.PrimeBase.com

SNAP Innovation Softwareentwicklung GmbH, D-22765 Hamburg,
Max-Brauer-Allee 50, Germany
Amtsgericht Hamburg HRB 61066, Geschäftsführer: Ulrich Zimmer, Paul
McCullagh
-------------------------------------------------------------------------




_______________________________________________
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