On 10/13/2016 01:37 PM, Santiago Vila wrote: > + set -e > ++ mktemp -d /tmp/AODH-MONGODB-XXXXX > + MONGO_DATA=/tmp/AODH-MONGODB-lZXDc > + MONGO_PORT=29000 > + mkfifo /tmp/AODH-MONGODB-lZXDc/out > + MONGO_PID=16886 > + wait_for_line 'waiting for connections on port 29000' > /tmp/AODH-MONGODB-lZXDc/out > + mongod --maxConns 32 --nojournal --noprealloc --smallfiles --quiet --noauth > --port 29000 --dbpath /tmp/AODH-MONGODB-lZXDc --bind_ip localhost --config > /dev/null > + read line > > > I don't know what you did to try to fix this, but apparently it didn't > work, so I'm reopening this (wishlist) bug, and I hope you are still > willing to make this package compatible with eatmydata. > > Thanks a lot.
I thought the issue was killing the processes *after* the unit tests are run. But then I tried to use command-prefix=eatmydata in the chroot.d file, and began to understood what happened. If you prefix the start of mongod with eatmydata, then the daemon produces no output at all, and the above script is in fact waiting for such text output. So I tried to write a script that would use netcat to see if the port 29000 is opened or not. And then I've seen that in fact, mongodb really seem to be stuck, doing nothing, if invoked with eatmydata. A quick use of strace shows that, with eatmydata, mongodb-server is looping on some nanosleep() calls. So I'm really not sure how to fix the issue. Any idea? Is there a way to disable eatmydata explicitly in my package, maybe only when starting mongodb? Is there a better way to setup schroot than adding command-prefix=eatmydata in your chroot.d schroot config file? Cheers, Thomas Goirand (zigo)