Github user nickva commented on the issue:
https://github.com/apache/couchdb-couch/pull/236
@davisp @sagelywizard
Used process dictionary to fix two issues:
1) Lack of configuration. Configuration is now read from
`couchdb.idle_check_timeout` with a default of 60000 msec. Every timeout period
it is refreshed from config module and put into process dictionary.
2) Potentially having more than 1 timeout message in flight. This could
happen if shorty after a hibernate event, there is a gen_server message handled
which sets a new timeout. So now they'd be two of them. To fix that, timer ref
from send_after is stuck in the process dictionary and it is canceled before
sending another. Now there is still a chance that previous timeout already is
in the message queue, but there is no chance of an overlapping timeout message
cascade forming.
---
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.
---