By default, CouchDB keeps a maximum of 100 databases open and active. This is controlled by the ini setting max_dbs_open in [couchdb] .
This limit controls the number of Erlang server processes that are readily available and hold resources, like file handles, and hold state for deferred commits. Once CouchDB hits the open database limit, it will always close an idle database and files before opening a new database file. The problem is that CouchDB would consider instances to be idle even if they still had deferred commits pending. It would then close the instance and drop it's deferred commits.