<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Drizzle Replication &#8211; Changes in API to support Group Commit</title>
	<atom:link href="http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/</link>
	<description>the art of sql</description>
	<lastBuildDate>Thu, 09 Sep 2010 03:38:00 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: David Shrewsbury: Drizzle Transaction Message Limit &#124; Weez.com</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-215698</link>
		<dc:creator>David Shrewsbury: Drizzle Transaction Message Limit &#124; Weez.com</dc:creator>
		<pubDate>Mon, 06 Sep 2010 20:09:10 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-215698</guid>
		<description>[...] recent changes I made have recently been pushed to Drizzle trunk that affect the size of the Transaction protobuf message that any replication stream will see (e.g., the transaction log). This was necessary to fix bug [...]</description>
		<content:encoded><![CDATA[<p>[...] recent changes I made have recently been pushed to Drizzle trunk that affect the size of the Transaction protobuf message that any replication stream will see (e.g., the transaction log). This was necessary to fix bug [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Padraig O&#8217;Sullivan: Simple Drizzle Replication Plugin for Cassandra &#124; Weez.com</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-215645</link>
		<dc:creator>Padraig O&#8217;Sullivan: Simple Drizzle Replication Plugin for Cassandra &#124; Weez.com</dc:creator>
		<pubDate>Tue, 01 Jun 2010 20:08:26 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-215645</guid>
		<description>[...] within the drizzled/message/transaction.proto file within the Drizzle source tree. Jay has  previously gone into great detail on the GPB message definitions and I see no point in duplicating the great [...]</description>
		<content:encoded><![CDATA[<p>[...] within the drizzled/message/transaction.proto file within the Drizzle source tree. Jay has  previously gone into great detail on the GPB message definitions and I see no point in duplicating the great [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sneak Peek &#8211; Drizzle Transaction Log and INFORMATION_SCHEMA &#171; join-fu!</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-215370</link>
		<dc:creator>Sneak Peek &#8211; Drizzle Transaction Log and INFORMATION_SCHEMA &#171; join-fu!</dc:creator>
		<pubDate>Sun, 14 Mar 2010 22:10:07 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-215370</guid>
		<description>[...] also finished a new UDF for Drizzle called PRINT_TRANSACTION_MESSAGE() that prints out the Transaction message&#8217;s contents in a easy-to-read [...]</description>
		<content:encoded><![CDATA[<p>[...] also finished a new UDF for Drizzle called PRINT_TRANSACTION_MESSAGE() that prints out the Transaction message&#8217;s contents in a easy-to-read [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Recent Work on Improving Drizzle&#8217;s Storage Engine API &#171; join-fu!</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-215314</link>
		<dc:creator>Recent Work on Improving Drizzle&#8217;s Storage Engine API &#171; join-fu!</dc:creator>
		<pubDate>Sat, 13 Mar 2010 07:13:02 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-215314</guid>
		<description>[...] of changes to the replication API and now the GPB messages sent through the APIs are of class message::Transaction.  message::Transaction objects contain a transaction context, with information about the [...]</description>
		<content:encoded><![CDATA[<p>[...] of changes to the replication API and now the GPB messages sent through the APIs are of class message::Transaction.  message::Transaction objects contain a transaction context, with information about the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Drizzle Replication &#8211; The Transaction Log &#171; join-fu!</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-215311</link>
		<dc:creator>Drizzle Replication &#8211; The Transaction Log &#171; join-fu!</dc:creator>
		<pubDate>Sat, 13 Mar 2010 04:31:20 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-215311</guid>
		<description>[...] be joinfu?                   &#171; Drizzle Replication &#8211; Changes in API to support Group Commit If Ever There Was a Sure-fire Tenant&#8230; [...]</description>
		<content:encoded><![CDATA[<p>[...] be joinfu?                   &laquo; Drizzle Replication &#8211; Changes in API to support Group Commit If Ever There Was a Sure-fire Tenant&#8230; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Drizzle Replication &#8211; The CommandReplicator and CommandApplier Plugin API &#171; join-fu!</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-215309</link>
		<dc:creator>Drizzle Replication &#8211; The CommandReplicator and CommandApplier Plugin API &#171; join-fu!</dc:creator>
		<pubDate>Sat, 13 Mar 2010 04:13:30 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-215309</guid>
		<description>[...] This article is out of date and the replication API has been updated. Please see the follow-up article for the most up to date [...]</description>
		<content:encoded><![CDATA[<p>[...] This article is out of date and the replication API has been updated. Please see the follow-up article for the most up to date [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Drizzle Replication &#8211; The Command Message &#171; join-fu!</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-215307</link>
		<dc:creator>Drizzle Replication &#8211; The Command Message &#171; join-fu!</dc:creator>
		<pubDate>Sat, 13 Mar 2010 04:05:10 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-215307</guid>
		<description>[...] This article is out of date and the replication API has been updated. Please see the follow-up article for the most up to date [...]</description>
		<content:encoded><![CDATA[<p>[...] This article is out of date and the replication API has been updated. Please see the follow-up article for the most up to date [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul McCullagh</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-189494</link>
		<dc:creator>Paul McCullagh</dc:creator>
		<pubDate>Thu, 29 Oct 2009 17:40:02 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-189494</guid>
		<description>Hi Jay,

Great work! GPB based replication is a huge step forward for Drizzle.

I also like the way you have packed the DML statements. They can be easily converted to SQL, but are also in a convenient format for use with other, non-DBMS, destinations.

One question I have is: How do you plan to handle the following situation?

A transaction is executed and the GPB message is prepared containing all the statements of the transaction. However, before the message can be passed to the TransactionReplicator the server crashes.

Now on startup the transaction will be committed to the database, but there is no way to reconstruct the GBP message for the transaction (and the transaction will go missing from the slave).

It would seem to me that the TransactionReplicator API needs to be expanded to include XA functionality.

And, this may have to be extended to the TransactionApplier as well, to ensure that the transaction is reliably transported from end-to-end.

Is the solution part of the transaction log explanation which is coming up?

I&#039;m looking forward to reading about it all.

Best regards,

Paul</description>
		<content:encoded><![CDATA[<p>Hi Jay,</p>
<p>Great work! GPB based replication is a huge step forward for Drizzle.</p>
<p>I also like the way you have packed the DML statements. They can be easily converted to SQL, but are also in a convenient format for use with other, non-DBMS, destinations.</p>
<p>One question I have is: How do you plan to handle the following situation?</p>
<p>A transaction is executed and the GPB message is prepared containing all the statements of the transaction. However, before the message can be passed to the TransactionReplicator the server crashes.</p>
<p>Now on startup the transaction will be committed to the database, but there is no way to reconstruct the GBP message for the transaction (and the transaction will go missing from the slave).</p>
<p>It would seem to me that the TransactionReplicator API needs to be expanded to include XA functionality.</p>
<p>And, this may have to be extended to the TransactionApplier as well, to ensure that the transaction is reliably transported from end-to-end.</p>
<p>Is the solution part of the transaction log explanation which is coming up?</p>
<p>I&#8217;m looking forward to reading about it all.</p>
<p>Best regards,</p>
<p>Paul</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikiya Okuno</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-189481</link>
		<dc:creator>Mikiya Okuno</dc:creator>
		<pubDate>Thu, 29 Oct 2009 13:46:30 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-189481</guid>
		<description>Hi Jay,

Thank you for your quick response! I&#039;m excited about your comments. Drizzle is more progressive than I thought.

&quot;Well, Eric Lambert has written a replicator which does exactly this. A C++ TransactionApplier plugin pushes messages out to a Gearman server.&quot;

This implementation sounds really cool and very clear to understand. As Gearman flatten some workload nicely, I can expect that some bottleneck when having many replication slaves on a single master would be eased ;) I&#039;m looking forward to see his entry.

Kind regards,

Mikiya</description>
		<content:encoded><![CDATA[<p>Hi Jay,</p>
<p>Thank you for your quick response! I&#8217;m excited about your comments. Drizzle is more progressive than I thought.</p>
<p>&#8220;Well, Eric Lambert has written a replicator which does exactly this. A C++ TransactionApplier plugin pushes messages out to a Gearman server.&#8221;</p>
<p>This implementation sounds really cool and very clear to understand. As Gearman flatten some workload nicely, I can expect that some bottleneck when having many replication slaves on a single master would be eased <img src='http://www.joinfu.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  I&#8217;m looking forward to see his entry.</p>
<p>Kind regards,</p>
<p>Mikiya</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jay Pipes</title>
		<link>http://www.joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit/comment-page-1/#comment-189479</link>
		<dc:creator>Jay Pipes</dc:creator>
		<pubDate>Thu, 29 Oct 2009 12:59:24 +0000</pubDate>
		<guid isPermaLink="false">http://joinfu.com/2009/10/drizzle-replication-changes-in-api-to-support-group-commit#comment-189479</guid>
		<description>Hi Mikiya!

&quot;BTW, of course you might consider doing so, I suggest adding a checksum field in each Transaction Message or Statement Message.&quot;

Actually, there is already a checksum written after each transaction message is written to the transaction log.  Please see the next article for information on that.

It is enabled using the --transaction-log-checksum-enable command line argument to Drizzle.  Currently, it just uses a CRC32 checksum, but I plan on making it configurable which checksumming algorithm should be used...

&quot;One more suggestion is to make replicator slave as an isolated, standalone process which connects to drizzled using libdrizzle. It will enable drizzle to replicate to MySQL very easily.&quot;

Well, Eric Lambert has written a replicator which does exactly this.  A C++ TransactionApplier plugin pushes messages out to a Gearman server.

Worker processes run a Java Gearman job in the worker process pool applying the replicated messages to the servers configured as replicas.  Eric will be blogging shortly about this new code piece.

Cheers!

jay</description>
		<content:encoded><![CDATA[<p>Hi Mikiya!</p>
<p>&#8220;BTW, of course you might consider doing so, I suggest adding a checksum field in each Transaction Message or Statement Message.&#8221;</p>
<p>Actually, there is already a checksum written after each transaction message is written to the transaction log.  Please see the next article for information on that.</p>
<p>It is enabled using the &#8211;transaction-log-checksum-enable command line argument to Drizzle.  Currently, it just uses a CRC32 checksum, but I plan on making it configurable which checksumming algorithm should be used&#8230;</p>
<p>&#8220;One more suggestion is to make replicator slave as an isolated, standalone process which connects to drizzled using libdrizzle. It will enable drizzle to replicate to MySQL very easily.&#8221;</p>
<p>Well, Eric Lambert has written a replicator which does exactly this.  A C++ TransactionApplier plugin pushes messages out to a Gearman server.</p>
<p>Worker processes run a Java Gearman job in the worker process pool applying the replicated messages to the servers configured as replicas.  Eric will be blogging shortly about this new code piece.</p>
<p>Cheers!</p>
<p>jay</p>
]]></content:encoded>
	</item>
</channel>
</rss>
