Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.0.1
-
None
-
Mac OSX, Windows XP, Windows 7
-
Committers Level (Medium to Hard)
Description
Step to reproduce the bug:
1. Make database "test" on a remote couchdb server that reside on a different machine!
2. Create new document: "http://remote-server:5984/test/doc"
3. Create database "replica" on the local couchdb server.
4. Trigger pull replication http://remote-server:5984/test -> http://localhost:5984/replica
5. Attach a file to the replicated document on the local couchdb server.
6. Trigger push replication http://localhost:5984/replica -> http://remote-server:5984/test
The document in the test database shows one conflict. If instead attachment the document is updated with a new field after the replication no conflict.
The same sequence shows no conflicts on CouchDB 0.11.
-
-
-
-
-
-
-
-
-
-
-
- test.sh ****************
-
-
-
-
-
-
-
-
-
-
#!/usr/bin/env bash
LOCAL="http://localhost:5984"
REMOTE="http://koleto.couchone.com"
echo "====================================================="
echo "This sequence create a conflict after the replication"
echo "====================================================="
echo "Cleanup"
curl --silent -X DELETE $LOCAL/replica
curl --silent -X DELETE $REMOTE/test
echo "Create database:" $REMOTE/test
curl --silent -X PUT $REMOTE/test
echo "Create empty document:"
curl --silent -d '{}' -X PUT $REMOTE/test/doc
echo "Create local databse:" $LOCAL/replica
curl --silent -X PUT $LOCAL/replica
echo "Pull replication:" REMOTE/test "->" $LOCAL/replica
curl --silent -X POST -d "
" -H 'Content-Type: application/json' $LOCAL/_replicate
echo "Put an attachment to the document:"
echo "foobar!" | curl --silent --upload-file - -X PUT "$LOCAL/replica/doc/foo.txt?rev=1-967a00dff5e02add41819138abb3284d"
echo "Push replication:" $LOCAL/replica "->" $REMOTE/test
curl --silent -X POST -d "
" -H 'Content-Type: application/json' $LOCAL/_replicate
echo '############## Get one conflic #####################'
curl --silent -X GET $REMOTE/test/doc?conflicts=true
echo "====================================================="
echo "The same sequence with adding a field to the document"
echo "====================================================="
echo "Cleanup"
curl --silent -X DELETE $LOCAL/replica
curl --silent -X DELETE $REMOTE/test
echo "Create database:" $REMOTE/test
curl --silent -X PUT $REMOTE/test
echo "Create empty document:"
curl --silent -d '{}' -X PUT $REMOTE/test/doc
echo "Create local databse:" $LOCAL/replica
curl --silent -X PUT $LOCAL/replica
echo "Pull replication:" REMOTE/test "->" $LOCAL/replica
curl --silent -X POST -d "
" -H 'Content-Type: application/json' $LOCAL/_replicate
echo "Adding a new field:"
curl --silent -d '
' -X PUT $LOCAL/replica/doc?rev=1-967a00dff5e02add41819138abb3284d
echo "Push replication:" $LOCAL/replica "->" $REMOTE/test
curl --silent -X POST -d "
" -H 'Content-Type: application/json' $LOCAL/_replicate
echo '###### No conflicts after the replication ########'
curl --silent -X GET $REMOTE/test/doc?conflicts=true
Attachments
Attachments
Issue Links
- relates to
-
COUCHDB-902 Attachments that have recovered from conflict do not accept attachments.
- Closed