prometheus/storage/local
Bjoern Rabenstein d215e013b7 Fix the weird chunkDesc shuffling bug.
The root cause was that after chunkDesc eviction, the offset between
memory representation of chunk layout (via chunkDescs in memory) was
shiftet against chunks as layed out on disk. Keeping the offset up to
date is by no means trivial, so this commit is pretty involved.

Also, found a race that for some reason didn't bite us so far:
Persisting chunks was completel unlocked, so if chunks were purged on
disk at the same time, disaster would strike. However, locking the
persisting of chunk revealed interesting dead locks. Basically, never
queue under the fp lock.

Change-Id: I1ea9e4e71024cabbc1f9601b28e74db0c5c55db8
2014-11-25 17:09:17 +01:00
..
codable Run checkpointing of in-memory metrics and head chunks periodically. 2014-11-25 17:09:04 +01:00
index Add an indexing queue and batch the ops. 2014-11-25 17:07:44 +01:00
chunk.go Avoid unnecessary cloning of the head chunk. 2014-11-25 17:09:04 +01:00
delta.go Squash a number of TODOs. 2014-11-25 17:09:04 +01:00
instrumentation.go Improve storage instrumentation even more. 2014-11-25 17:09:04 +01:00
interface.go Run checkpointing of in-memory metrics and head chunks periodically. 2014-11-25 17:09:04 +01:00
locker.go Fix and improve the fp locker. 2014-11-25 17:07:45 +01:00
locker_test.go Fix a few concurrency issues before starting to use the new fp locker. 2014-11-25 17:07:45 +01:00
persistence.go Fix the weird chunkDesc shuffling bug. 2014-11-25 17:09:17 +01:00
persistence_test.go Fix the weird chunkDesc shuffling bug. 2014-11-25 17:09:17 +01:00
preload.go Improve instrumentation in storage. 2014-11-25 17:09:04 +01:00
series.go Fix the weird chunkDesc shuffling bug. 2014-11-25 17:09:17 +01:00
storage.go Fix the weird chunkDesc shuffling bug. 2014-11-25 17:09:17 +01:00
storage_test.go Fix the weird chunkDesc shuffling bug. 2014-11-25 17:09:17 +01:00
test_helpers.go Run checkpointing of in-memory metrics and head chunks periodically. 2014-11-25 17:09:04 +01:00