You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2021/11/18 18:30:47 UTC

[GitHub] [couchdb] rnewson edited a comment on pull request #3795: fix case_clause when HitId and DocId do not match when include_docs=true

rnewson edited a comment on pull request #3795:
URL: https://github.com/apache/couchdb/pull/3795#issuecomment-973141018


   @tonysun83 thanks for the details, this worries me. I can, sadly, imagine there might be bugs in the pid<>index path logic, either in dreyfus or clouseau or in combination.  Clearly, though, they must manifest rarely. Have you confirmed that the document from "another database" is genuinely only present in that database and is not (now, or in the past) present in the expected database?
   
   The fix in this PR remains the wrong approach, I think we both agree. As for returning a fatal/500 error, it's not entirely clear that's right either. For one thing the 500 would only manifest if a search query matched one of these misplaced documents, and not if they don't. If we have indexed documents into the wrong search index then the index is corrupt and no results can be trusted. So really the index should be deleted at that moment and forced to rebuild or, if we prefer, marked as corrupt and no longer allowed to serve requests until someone (the user? the administrator?) intervenes.
   
   The true fix, I think, is to remove the pid<>path mapping entirely, changing the rpc messages to state the index path each time. 


-- 
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: notifications-unsubscribe@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org