rnewson commented on issue #5887:
URL: https://github.com/apache/couchdb/issues/5887#issuecomment-3908613000

   Given the timeout at 30s matches the ibrowse request timeout, I think what's 
happening here is resource exhaustion (and not a logic error in the index 
updating code). At some point ibrowse is unable to make new connections, or 
acquire one from its pool, in a timely manner (I can't prove this, nor induce 
it under artificial load).
   
   That the restart has a flurry of 409's, then some doc updates (the PUT and 
DELETE operations) and then successful queries is expected when querying a 
stale index (that large number of 409's at the start implies a fair number of 
concurrent search requests are happening).
   
   couchdb/nouveau 3.5.1 makes two significant changes over 3.5.0. Firstly, it 
switches to an optimistic pattern. it issues the search query (specifying the 
current db update sequence as the minimum required for a fresh result), gets a 
409 if not fresh enough, and only then does it push updates. Secondly, it 
switches from ibrowse to gun (and from http/1.1 to http/2). I think it is the 
latter change that is likely to resolve this issue (whereas originally I was 
expecting it to be a side-effect of the first thing as perhaps the new update 
pattern didn't have the same bug as the current one. I think, on balance, there 
probably isn't that bug after all).
   
   So... I would invite you to upgrade to 3.5.1 and re-report this issue if it 
occurs there too. If it does, please capture the logs on couchdb and nouveau 
side while it is happening, and also try querying the index, through couchdb, 
with `update=false` and let me know if that works (imo it always should, but if 
it doesn't then that's very interesting).
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to