mirror of
https://github.com/kubernetes/client-go.git
synced 2025-07-05 11:16:23 +00:00
sync: squashed up to merge 94b5aeba9dfa5f10c8a920a229795249a919c127 in e72b32558c8e9ed16690ef5a8e909c12fcc47f87
This commit is contained in:
parent
49d4edf419
commit
0d661d3855
2
Godeps/Godeps.json
generated
2
Godeps/Godeps.json
generated
@ -56,7 +56,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/evanphx/json-patch",
|
"ImportPath": "github.com/evanphx/json-patch",
|
||||||
"Rev": "36442dbdb585210f8d5a1b45e67aa323c197d5c4"
|
"Rev": "d4020504c68b6bfa818032bedfb48e33e9638506"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/proto",
|
"ImportPath": "github.com/gogo/protobuf/proto",
|
||||||
|
15
tools/cache/thread_safe_store.go
vendored
15
tools/cache/thread_safe_store.go
vendored
@ -148,14 +148,21 @@ func (c *threadSafeMap) Index(indexName string, obj interface{}) ([]interface{},
|
|||||||
}
|
}
|
||||||
index := c.indices[indexName]
|
index := c.indices[indexName]
|
||||||
|
|
||||||
// need to de-dupe the return list. Since multiple keys are allowed, this can happen.
|
var returnKeySet sets.String
|
||||||
returnKeySet := sets.String{}
|
if len(indexKeys) == 1 {
|
||||||
|
// In majority of cases, there is exactly one value matching.
|
||||||
|
// Optimize the most common path - deduping is not needed here.
|
||||||
|
returnKeySet = index[indexKeys[0]]
|
||||||
|
} else {
|
||||||
|
// Need to de-dupe the return list.
|
||||||
|
// Since multiple keys are allowed, this can happen.
|
||||||
|
returnKeySet = sets.String{}
|
||||||
for _, indexKey := range indexKeys {
|
for _, indexKey := range indexKeys {
|
||||||
set := index[indexKey]
|
for key := range index[indexKey] {
|
||||||
for _, key := range set.UnsortedList() {
|
|
||||||
returnKeySet.Insert(key)
|
returnKeySet.Insert(key)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
list := make([]interface{}, 0, returnKeySet.Len())
|
list := make([]interface{}, 0, returnKeySet.Len())
|
||||||
for absoluteKey := range returnKeySet {
|
for absoluteKey := range returnKeySet {
|
||||||
|
Loading…
Reference in New Issue
Block a user