Author: damien
Date: Mon Mar 16 17:57:06 2009
New Revision: 754970
URL: http://svn.apache.org/viewvc?rev=754970&view=rev
Log:
Fix for sporatic replication error during tests.
Modified:
couchdb/trunk/src/couchdb/couch_key_tree.erl
Modified: couchdb/trunk/src/couchdb/couch_key_tree.erl
URL:
http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_key_tree.erl?rev=754970&r1=754969&r2=754970&view=diff
==============================================================================
--- couchdb/trunk/src/couchdb/couch_key_tree.erl (original)
+++ couchdb/trunk/src/couchdb/couch_key_tree.erl Mon Mar 16 17:57:06 2009
@@ -86,8 +86,8 @@
{ok, [{Key, Value, Merged} | Sibs], Conflicts};
no ->
case merge_at(Sibs, Place, Insert) of
- {ok, Merged} ->
- [{Key, Value, SubTree} | Merged];
+ {ok, Merged, Conflicts} ->
+ {ok, [{Key, Value, SubTree} | Merged], Conflicts};
no ->
no
end
@@ -316,8 +316,12 @@
TwoChild = [{0, {"1","foo", [{"1a", "bar", [{"1aa", "bar", []}]}]}}],
TwoChildSibs = [{0, {"1","foo", [{"1a", "bar", []},
{"1b", "bar", []}]}}],
+ TwoChildSibs2 = [{0, {"1","foo", [{"1a", "bar", []},
+ {"1b", "bar", [{"1bb", "boo", []}]}]}}],
+ Stemmed1b = [{1, {"1a", "bar", []}}],
Stemmed1a = [{1, {"1a", "bar", [{"1aa", "bar", []}]}}],
Stemmed1aa = [{2, {"1aa", "bar", []}}],
+ Stemmed1bb = [{2, {"1bb", "boo", []}}],
{EmptyTree, no_conflicts} = merge(EmptyTree, EmptyTree),
{One, no_conflicts} = merge(EmptyTree, One),
@@ -326,6 +330,10 @@
{One, no_conflicts} = merge(One, One),
{TwoChild, no_conflicts} = merge(TwoChild, TwoChild),
{TwoChildSibs, no_conflicts} = merge(TwoChildSibs, TwoChildSibs),
+ {TwoChildSibs, no_conflicts} = merge(TwoChildSibs, Stemmed1b),
+ {TwoChildSibs, no_conflicts} = merge(Stemmed1b, TwoChildSibs),
+ {TwoChildSibs2, no_conflicts} = merge(TwoChildSibs2, Stemmed1bb),
+ {TwoChildSibs2, no_conflicts} = merge(Stemmed1bb, TwoChildSibs2),
{TwoChild, no_conflicts} = merge(TwoChild, Stemmed1aa),
{TwoChild, no_conflicts} = merge(TwoChild, Stemmed1a),
{Stemmed1a, no_conflicts} = merge(Stemmed1a, Stemmed1aa),