Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Side by Side Diff: filter/dscache/ds_txn_state.go

Issue 1695833002: dscache: Only log unusual memcache errors. (Closed) Base URL: https://github.com/luci/gae@master
Patch Set: Rewrite with errors.Filter Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package dscache 5 package dscache
6 6
7 import ( 7 import (
8 "sync" 8 "sync"
9 9
10 "github.com/luci/gae/service/datastore" 10 "github.com/luci/gae/service/datastore"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 // they'll expire soon). 53 // they'll expire soon).
54 func (s *dsTxnState) release(sc *supportContext) { 54 func (s *dsTxnState) release(sc *supportContext) {
55 s.Lock() 55 s.Lock()
56 defer s.Unlock() 56 defer s.Unlock()
57 57
58 delKeys := make([]string, 0, len(s.toDelete)) 58 delKeys := make([]string, 0, len(s.toDelete))
59 for k := range s.toDelete { 59 for k := range s.toDelete {
60 delKeys = append(delKeys, k) 60 delKeys = append(delKeys, k)
61 } 61 }
62 62
63 » err := sc.mc.DeleteMulti(delKeys) 63 » if err := filterMCErr(sc.mc.DeleteMulti(delKeys)); err != nil {
64 » if err != nil {
65 (log.Fields{log.ErrorKey: err}).Warningf( 64 (log.Fields{log.ErrorKey: err}).Warningf(
66 sc.c, "dscache: txn.release: memcache.DeleteMulti") 65 sc.c, "dscache: txn.release: memcache.DeleteMulti")
67 } 66 }
68 } 67 }
69 68
70 func (s *dsTxnState) add(sc *supportContext, keys []*datastore.Key) { 69 func (s *dsTxnState) add(sc *supportContext, keys []*datastore.Key) {
71 lockItems, lockKeys := sc.mkAllLockItems(keys) 70 lockItems, lockKeys := sc.mkAllLockItems(keys)
72 if lockItems == nil { 71 if lockItems == nil {
73 return 72 return
74 } 73 }
75 74
76 s.Lock() 75 s.Lock()
77 defer s.Unlock() 76 defer s.Unlock()
78 77
79 for i, li := range lockItems { 78 for i, li := range lockItems {
80 k := lockKeys[i] 79 k := lockKeys[i]
81 if _, ok := s.toDelete[k]; !ok { 80 if _, ok := s.toDelete[k]; !ok {
82 s.toLock = append(s.toLock, li) 81 s.toLock = append(s.toLock, li)
83 s.toDelete[k] = struct{}{} 82 s.toDelete[k] = struct{}{}
84 } 83 }
85 } 84 }
86 } 85 }
OLDNEW
« filter/dscache/ds.go ('K') | « filter/dscache/ds.go ('k') | filter/dscache/support.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698