From 42d940735baccc0dbd82cb23d7f2f9f9f33ffff1 Mon Sep 17 00:00:00 2001 From: Jan Safranek Date: Wed, 4 May 2016 18:18:00 +0200 Subject: [PATCH] Make threadSafeMap.ListIndexFuncValues thread safe. Surprisingly, this method does not lock and I get data race reports in my persistent volume unit tests (which use this map). --- pkg/client/cache/thread_safe_store.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/client/cache/thread_safe_store.go b/pkg/client/cache/thread_safe_store.go index ae4b802c815..68110006a24 100644 --- a/pkg/client/cache/thread_safe_store.go +++ b/pkg/client/cache/thread_safe_store.go @@ -179,6 +179,9 @@ func (c *threadSafeMap) ByIndex(indexName, indexKey string) ([]interface{}, erro } func (c *threadSafeMap) ListIndexFuncValues(indexName string) []string { + c.lock.RLock() + defer c.lock.RUnlock() + index := c.indices[indexName] names := make([]string, 0, len(index)) for key := range index {