wohali commented on issue #745: Replication with attachments never completes, 
{mp_parser_died,noproc} error
URL: https://github.com/apache/couchdb/issues/745#issuecomment-351301113
 
 
   Hey @nickva I spent time today on getting a repro for this, as it's 
affecting more and more people. Bear with me on the setup, it's a little 
involved.
   
   Set up a VM with the following parameters (I used VMWare Workstation):
   - 20GB HDD, 512 MB RAM (!), 1 CPU
   - Debian 8.latest (or 9, I tested on 8), 64-bit
   - CouchDB master - have it running on `localhost:5984` with `admin:password` 
as the creds, `n=1`, and logging at `debug` level
   - `sudo apt-get install stress python3 python3-virtualenv virtualenv 
python3-cxx-dev`
   - `mkdir 745 && cd 745 && virtualenv -p python3 venv && source 
venv/bin/activate`
   - `pip install RandomWords RandomIO requests docopt schema`
   - `wget 
https://gist.github.com/wohali/1cd19b78c0a417dbeb9f66b3229f7b58/raw/6539d48fa9e05b021f344b80fbf0d7c3e7fcd6e4/makeit.py`
   
   Now you're ready to setup the test:
   
   ```
   $ curl -X PUT http://admin:password@localhost:5984/foo
   $ python ./makeit.py 10
   ```
   Repeat the above a few times - get the DB to 1GB or larger. You can increase 
10 but at some point you'll run out of RAM, so be careful. This script creates 
sample docs with a few fields and a 50MB attachment full of random bytes.
   
   Now to run the test:
   
   * In one window: `tail -f | grep` your couch log for `mp_parser`.
   * In another window, stress the machine's CPU and network: `stress --timeout 
90m --cpu 1 --io 4`. (You can add disk access to this with `-d 8` if desired.
   * In the window running the Python `virtualenv`, start the replication:
   `curl http://admin:password@localhost:5984/_replicate -H "Content-Type: 
application/json" --data '{"create_target: true, "source": "foo", "target": 
"bar"}'`
   
   If the above succeeds, `curl -X DELETE 
http://admin:password@localhost:5985/bar` and try to replicate again.
   
   This produces a failure for me within 10 minutes. The command line returns:
   
   ```
   
{"error":"error","reason":"{worker_died,<0.26846.9>,{process_died,<0.27187.9>,kaboom}}"}
   ```
   and the logfile has errors identical to that in the original post above, and 
in #574. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to