Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Database replication stops working after 10 minutes (replicator crash) #1979

Closed
martinschoenwandt opened this issue Mar 15, 2019 · 1 comment

Comments

@martinschoenwandt
Copy link

I am currently working on a proof of concept prototype application that basicaly performs the below in order to prove how stable CouchDB replication is.

But unfortunately by looping the test below in around 10 minutes replication suddenly stops wokring from counta->countb and seems like the only
thing that is working afterwards is deleting replication document and both databases and start all over creating databases etc.

Description

I have been able to reproduce this several time (test application written in C# and using my own small CouchDB implementation using RestSharp).

I have attached log file that shows that the replication process crashes - so is this a bug and what to do from here??

Steps to Reproduce

Precondiction:
One 'counta' database with one document: {
"_id": "countId",
"Value": 0
}
One 'countb' database with one document: {
"_id": "countId",
"Value": 0
}

Test application (Merge the highest number wins):

  • Remove A->B replication if exist (database counta->countb)
  • Remove B->A replication if exist (database countb->counta)
  • Create A->B replication (database counta->countb)
  • Wait 5 seconds
  • Set count A = 0
  • Wait 5 seconds
  • Read count A = 0
  • Read count B = 0
  • Remove A->B replication (database counta->countb)
  • Set count A = 1
  • Set count B = 2
  • Wait 5 seconds
  • Read count A = 1
  • Read count B = 2
  • Create B->A replication (database countb->counta) (Creates an expected conflict)
  • Wait 5 seconds
  • Read/Merge count A = 2 (Conflict merged 2 revisions - Value = 2 wins)
  • Read/Merge count B = 2 (Conflict just handled and merged by Read A so nothing to do here)
  • Wait 5 seconds
  • Read count A = 2
  • Read count B = 2
  • Done - Loop

Expected Behaviour

It should continue working...

Your Environment

{
"couchdb": "Welcome",
"version": "2.3.0",
"git_sha": "07ea0c7",
"uuid": "2ad85a5174df9414fe1ff9a03db94bd3",
"features": [
"pluggable-storage-engines",
"scheduler"
],
"vendor": {
"name": "The Apache Software Foundation"
}
}

  • CouchDB Version used:
  • Browser name and version:
  • Operating System and version:

Additional context

See attached log file...
CouchDbReplicatorCrash.log

@wohali
Copy link
Member

wohali commented Mar 16, 2019

This is a duplicate of #1810.

You need to upgrade to CouchDB 2.3.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants