Details
-
Bug
-
Resolution: Fixed
-
Major
-
2.0
-
Security Level: Public
-
None
Description
EP Engine neither updates ep_item_commit_failed stat nor reports a commit failure after encountering commit failure due to inaccessibility to underlying db storage (sqlite & couchstore).
Not updating the "ep_item_commit_failed" stat is a bug we can fix easily, however returning a commit failure may require changes in current design. Please see below:
Under the current design EP Engine keeps trying to persist mutated items to underlying storage upon after getting the MUTATION_FAILED return from the underlying db storage (called redirty). In case of couchstore backend, an error like ERROR_CANNOT_READ while accessing to db files will cause EP Engine to retry redirty() for good. Similar behavior applies to the case of sqlite backend as well.