Github user eiri commented on the issue:

    https://github.com/apache/couchdb-couch/pull/236
  
    I ran some tests and this approach not working very well. Since 
`close_db_if_idle` removes records from ets, but not from lru, "system" dbs 
pushing "normal" dbs out of ets. Once this process complete and ets exclusively 
consist of "system" records none of the shards on cluster could be open 
anymore. This is happening because in this case in `couch_lru:close_int/2` we 
are always hitting `false` on element update - keys in our lru don't intersect 
with keys in ets anymore - and then `open` always returns `all_dbs_active`, so 
cache ending up locked, since neither `lru` or `max_dbs_open` counter getting 
updated.
    
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to