Yes is the coordinator fails then the transaction fails. thankfully when it dies, spread notifies everyone and the transaction fails.<br><br>Thrudb is designed for web applications so If I add a new account on a website and the underlying thrudb coordinator fails then the client is notified so no big deal.
<br><br>I really just wanted to be able to write from any node in the group.<br><br>-Jake<br><br><div class="gmail_quote">On Nov 6, 2007 5:23 PM, Alex Jacobson &lt;<a href="mailto:alex@alexjacobson.com">alex@alexjacobson.com
</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">So then you are vulnerable to a failure of the coordinator?<br>(or are you actually implementing Paxos?)
<br><br>-Alex-<br><div class="Ih2E3d"><br>Jake Luciani wrote:<br>&gt; Hi,<br>&gt;<br>&gt; Yes that&#39;s correct. &nbsp;Since the actual document could be extremely large<br>&gt; it&#39;s not sent over Spread.<br>&gt;<br>&gt; Instead, a transaction container is created, the document is compressed
<br>&gt; and stored under that transaction id in memcached and the transaction id<br>&gt; is sent. Memcached becomes kind of a network IPC.<br>&gt;<br>&gt; Each node receives the message and pulls the document from memcached,
<br>&gt; once all nodes are ready to process they message the transaction<br>&gt; origionator and and says its ready to commit or its failed.<br>&gt;<br>&gt; Once all messages are recieved then the final commit message is sent
<br>&gt; otherwise children are told to fail the transaction altogether.<br>&gt;<br>&gt; also libevent is used to monitor the spread socket.<br>&gt;<br>&gt; -Jake<br>&gt;<br>&gt; On Nov 6, 2007 10:50 AM, John Schultz &lt;
<a href="mailto:jschultz@spreadconcepts.com">jschultz@spreadconcepts.com</a><br></div><div><div></div><div class="Wj3C7c">&gt; &lt;mailto:<a href="mailto:jschultz@spreadconcepts.com">jschultz@spreadconcepts.com</a>&gt; &gt; wrote:
<br>&gt;<br>&gt; &nbsp; &nbsp; Just out of curiosity, you implement your multi-master replication using<br>&gt; &nbsp; &nbsp; a 2-phase commit protocol over Spread?<br>&gt;<br>&gt; &nbsp; &nbsp; Cheers!<br>&gt;<br>&gt; &nbsp; &nbsp; ---<br>&gt; &nbsp; &nbsp; John Schultz
<br>&gt; &nbsp; &nbsp; Spread Concepts<br>&gt; &nbsp; &nbsp; Phn: 443 838 2200<br>&gt;<br>&gt; &nbsp; &nbsp; On Mon, 5 Nov 2007, Jake Luciani wrote:<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; Hi,<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; I&#39;m writing to announce the open source release of a project I&#39;ve
<br>&gt; &nbsp; &nbsp; built<br>&gt; &nbsp; &nbsp; &nbsp;&gt; which incorporates spread.<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; ------------------------------------------------------------------------------------------------------------------
<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; Thrudb is a set of simple services built on top of Facebook&#39;s Thrift<br>&gt; &nbsp; &nbsp; &nbsp;&gt; framework<br>&gt; &nbsp; &nbsp; &nbsp;&gt; that provides indexing and document storage services for building and
<br>&gt; &nbsp; &nbsp; &nbsp;&gt; scaling websites.<br>&gt; &nbsp; &nbsp; &nbsp;&gt; Its purpose is to offer web developers flexible, fast and easy-to-use<br>&gt; &nbsp; &nbsp; &nbsp;&gt; services<br>&gt; &nbsp; &nbsp; &nbsp;&gt; which can enhance or replace traditional data storage and access
<br>&gt; &nbsp; &nbsp; layers.<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; *Thrudb Features:*<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; &nbsp; - Client libraries for most languages<br>&gt; &nbsp; &nbsp; &nbsp;&gt; &nbsp; - Multi-master replication<br>&gt; &nbsp; &nbsp; &nbsp;&gt; &nbsp; - Incremental backups and redo logging
<br>&gt; &nbsp; &nbsp; &nbsp;&gt; &nbsp; - Multiple storage backends (S3 included)<br>&gt; &nbsp; &nbsp; &nbsp;&gt; &nbsp; - Built for horizontal scalability<br>&gt; &nbsp; &nbsp; &nbsp;&gt; &nbsp; - Simple and powerful search api (Lucene)<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; <a href="http://thrudb.googlecode.com" target="_blank">
http://thrudb.googlecode.com</a><br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; --------------------------------------------------------------------------------------------------------------------<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; I&#39;ve also written up a blog post about it here &lt;
<br>&gt; &nbsp; &nbsp; <a href="http://3.rdrail.net/blog" target="_blank">http://3.rdrail.net/blog</a>&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; Spread provides multi-master replication with atomic writes.<br>&gt; &nbsp; &nbsp; &nbsp;&gt; I&#39;ve used this to deploy my site reliably on Amazon EC2.
<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; Cheers,<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt; &nbsp; &nbsp; &nbsp;&gt; Jake<br>&gt; &nbsp; &nbsp; &nbsp;&gt;<br>&gt;<br>&gt; &nbsp; &nbsp; _______________________________________________<br>&gt; &nbsp; &nbsp; Spread-users mailing list<br></div></div>
&gt; &nbsp; &nbsp; <a href="mailto:Spread-users@lists.spread.org">Spread-users@lists.spread.org</a> &lt;mailto:<a href="mailto:Spread-users@lists.spread.org">Spread-users@lists.spread.org</a>&gt;<br><div class="Ih2E3d">&gt; &nbsp; &nbsp; <a href="http://lists.spread.org/mailman/listinfo/spread-users" target="_blank">
http://lists.spread.org/mailman/listinfo/spread-users</a><br>&gt;<br>&gt;<br>&gt;<br></div>&gt; ------------------------------------------------------------------------<br><div><div></div><div class="Wj3C7c">&gt;<br>&gt; _______________________________________________
<br>&gt; Spread-users mailing list<br>&gt; <a href="mailto:Spread-users@lists.spread.org">Spread-users@lists.spread.org</a><br>&gt; <a href="http://lists.spread.org/mailman/listinfo/spread-users" target="_blank">http://lists.spread.org/mailman/listinfo/spread-users
</a><br><br></div></div></blockquote></div><br>