From dbcb3d9333df2989f8eb5f07a773a4dcb80ae53f Mon Sep 17 00:00:00 2001 From: beorn7 Date: Sat, 23 May 2015 14:05:05 +0200 Subject: [PATCH] Use an RW lock to checkpoint fingerprint mappings. This has to be backported to 0.13.x. --- storage/local/mapper.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/storage/local/mapper.go b/storage/local/mapper.go index 97b58c923..9bc0e7d12 100644 --- a/storage/local/mapper.go +++ b/storage/local/mapper.go @@ -141,10 +141,10 @@ func (m *fpMapper) maybeAddMapping( // A new mapping has to be created. mappedFP = m.nextMappedFP() mappedFPs[ms] = mappedFP - m.mtx.RLock() + m.mtx.Lock() // Checkpoint mappings after each change. err := m.p.checkpointFPMappings(m.mappings) - m.mtx.RUnlock() + m.mtx.Unlock() log.Infof( "Collision detected for fingerprint %v, metric %v, mapping to new fingerprint %v.", fp, collidingMetric, mappedFP,