cache: in writeback mode skip etag verification (#13781)

if the commit is still in pending or failed status

This PR also does some minor code cleanup
This commit is contained in:
Poorna K
2021-11-30 10:22:42 -08:00
committed by GitHub
parent 4f3290309e
commit d21466f595
3 changed files with 21 additions and 4 deletions

View File

@@ -581,3 +581,14 @@ func (t *multiWriter) Write(p []byte) (n int, err error) {
func cacheMultiWriter(w1 io.Writer, w2 *io.PipeWriter) io.Writer {
return &multiWriter{backendWriter: w1, cacheWriter: w2}
}
// skipETagVerification returns true if writeback commit is not complete
func skipETagVerification(m map[string]string) bool {
if v, ok := m[writeBackStatusHeader]; ok {
switch cacheCommitStatus(v) {
case CommitPending, CommitFailed:
return true
}
}
return false
}