prometheus/storage/local
beorn7 ff08f0b6fe storage: ensure timestamp monotonicity within series.
Fixes https://github.com/prometheus/prometheus/issues/481

While doing so, clean up and fix a few other things:

- Fix `go vet` warnings (@fabxc to blame ;).

- Fix a racey problem with unarchiving: Whenever we unarchive a
  series, we essentially want to do something with it. However, until
  we have done something with it, it appears like a series that is
  ready to be archived or even purged. So e.g. it would be ignored
  during checkpointing. With this fix, we always load the chunkDescs
  upon unarchiving. This is wasteful if we only want to add a new
  sample to an archived time series, but the (presumably more common)
  case where we access an archived time series in a query doesn't
  become more expensive.

- The change above streamlined the getOrCreateSeries ond
  newMemorySeries flow. Also, the modTime is now always set correctly.

- Fix the leveldb-backed implementation of KeyValueStore.Delete. It
  had the wrong behavior of still returning true, nil if a
  non-existing key has been passed in.
2015-07-15 18:56:53 +02:00
..
codable Handle fingerprint collisions. 2015-05-07 18:17:59 +02:00
fixtures/b0 Add benchmark for loading chunks and chunk descs. 2015-03-19 19:28:21 +01:00
index storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
chunk.go storage: add LastSamplePairForFingerprint method 2015-06-23 13:45:15 +02:00
crashrecovery.go storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
delta.go storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
delta_helpers.go Make floats exact again. 2015-03-06 17:03:56 +01:00
doubledelta.go storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
instrumentation.go Instrument series maintenance durations. 2015-03-19 17:06:16 +01:00
interface.go Minor doc fixes. 2015-06-23 17:07:18 +02: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
mapper.go Use an RW lock to checkpoint fingerprint mappings. 2015-05-23 14:05:05 +02:00
mapper_test.go Avoid archive lookup for known mapped FPs. 2015-05-08 16:39:26 +02:00
persistence.go storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
persistence_test.go storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
preload.go Weed out all the [Gg]et* method names. 2015-05-20 19:13:06 +02:00
series.go storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
storage.go storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
storage_test.go storage: ensure timestamp monotonicity within series. 2015-07-15 18:56:53 +02:00
test_helpers.go storage: remove global flags 2015-06-15 19:01:06 +02:00