kocolosk commented on issue #2493: couch_auth_cache creates millions of 
monitors to _users.couch database which introduces a performance drop
URL: https://github.com/apache/couchdb/issues/2493#issuecomment-578984046
 
 
   Fascinating. You said that 
   
   > When I removed `couch_db:monitor(AuthDb)` line and called 
`gen_server:call(couch_auth_cache, reinit_cache, infinity).` in a loop in the 
`remsh` afterwards for the sake of testing it still created all those 
duplicated monitors.
   
   I can't reproduce that part on master (d59d84ac78e5). If I remove the 
`couch_db:monitor/1` invocation and call reinit_cache in a loop I only see the 
one monitor for the file descriptor at any point in time.
   
   If, however, I leave the `couch_db:monitor/1` invocation in place I *do* see 
monitors piling up against the `couch_db_updater` process when I call reinit in 
a loop. Is it possible that those monitors were the ones you saw during your 
debugging, and that the `couch_file` monitors you observed in production have a 
different root cause?
   
   Taking a step back, it's not at all obvious to me that we still need 
`couch_auth_cache` as a running service, especially now that the backdoor HTTP 
port has been removed. I think the `chttpd_auth_cache` module is the one doing 
the actual user caching. I'd be curious to hear from others on the dev team, 
but I'm wondering if we can just shut this thing down. Reading through the code 
it's clear that this module hasn't kept up with the times.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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