Merge pull request #10335 from gyuho/release-3.3-patch

[Cherry pick 3.3] grpcproxy: fix memory leak
This commit is contained in:
Gyuho Lee 2018-12-17 20:37:04 -08:00 committed by GitHub
commit e6b2f00047
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 6 deletions

View File

@ -6,7 +6,7 @@ sudo: required
services: docker
go:
- 1.10.4
- 1.10.7
notifications:
on_success: never
@ -23,7 +23,7 @@ env:
matrix:
fast_finish: true
allow_failures:
- go: 1.10.4
- go: 1.10.7
env: TARGET=linux-386-unit
exclude:
- go: tip

View File

@ -99,9 +99,12 @@ func (c *cache) Add(req *pb.RangeRequest, resp *pb.RangeResponse) {
iv = c.cachedRanges.Find(ivl)
if iv == nil {
c.cachedRanges.Insert(ivl, []string{key})
val := map[string]struct{}{key: {}}
c.cachedRanges.Insert(ivl, val)
} else {
iv.Val = append(iv.Val.([]string), key)
val := iv.Val.(map[string]struct{})
val[key] = struct{}{}
iv.Val = val
}
}
@ -141,8 +144,8 @@ func (c *cache) Invalidate(key, endkey []byte) {
ivs = c.cachedRanges.Stab(ivl)
for _, iv := range ivs {
keys := iv.Val.([]string)
for _, key := range keys {
keys := iv.Val.(map[string]struct{})
for key := range keys {
c.lru.Remove(key)
}
}