Commit Graph

17 Commits (25b0e375227412f864f1102e66f7b52bce58e77a)

Author SHA1 Message Date
Edd Robinson 0999f88273 fix: prevent integer overflow 2019-11-22 14:06:21 +00:00
Edd Robinson db72f57da4 feat(storage): inject function to control when retention enforcer runs (#15136)
* test(storage): ensure multiple engines can run concurrently

* feat(storage): expose control over retention run

Fixes #15134.

This commit adds the ability to inject a functional option into a
storage.Engine for controlling when the retention enforcer can run.

Previously, retention enforcers ran on an interval; if you ran multiple
storage engines (as we do in some environments) then it was not possible
to coordinate when engines ran retention. Often they would synchronise
because they started at the same time.

This change will let you specify a blocking function to control when the
retention enforcer can run.

A simple function for serialising retention enforcement across multiple
storage engines could look like:

```go
var mu sync.Mutex
func f() (done func()) {
    mu.Lock()
    return func() { mu.Unlock() }
}
```
2019-09-23 08:09:04 -07:00
Jacob Marble 851279b71f
chore(storage): bring back storage_retention_checks_total (#14735) 2019-08-22 10:47:27 -07:00
Edd Robinson d160585a34 refactor(storage): add deeper tracing around deletes 2019-08-22 11:08:33 +01:00
Jacob Marble 26d29f7aa5
chore(storage): remove metric storage_retention_checks_total (#14719) 2019-08-20 14:39:08 -07:00
tmgordeeva 48ee7ada04
fix(storage): move retention snapshot out of per bucket calls (#14420)
* fix(storage): move retention snapshot out of per bucket calls

Also adds tracking for snapshots from retention and full compactions.
2019-07-23 11:40:05 -07:00
Jacob Marble 8c269e0153
chore(log): Put trace_id back in logs (#13712)
* chore(log): Put trace_id back in logs

* fix tests
2019-04-30 18:51:22 -07:00
Kelvin Wang 7a72c363f2 remove org from bucket 2019-04-22 18:39:05 -04:00
Jeff Wendling 157c4fcf0c storage: add tests for retention metrics 2019-04-01 17:44:37 -06:00
Jeff Wendling 3bb765279b storage: respond to review comments 2019-02-04 12:26:26 -07:00
Jeff Wendling 7f54e816e3 refactor: have retention use DeleteBucketRange 2019-02-04 10:32:52 -07:00
Mark Rushakoff d73d73c0d4 chore: rename imports from platform to influxdb
I did this with a dumb editor macro, so some comments changed too.

Also rename root package from platform to influxdb.

In interest of minimizing risk, anyone importing the root package has
now aliased it to "platform" so that no changes beyond imports were
necessary in those files.

Lastly, replace the old platform module to local path /dev/null so that
nobody can accidentally reintroduce a platform dependency while
migrating platform code to influxdb.
2019-01-09 20:51:47 -08:00
Chris Goller 9298a761de fix(storage/retention): change from string to platform.ID
Co-Authored-by: Jeff Wendling <jeff@influxdata.com>
2018-10-11 09:54:19 -05:00
Edd Robinson f815dcfeb7 Schedule retention enforcer from within engine 2018-10-10 15:45:26 +01:00
Edd Robinson d5ed17adb2 Rename retention service 2018-10-10 15:40:08 +01:00
Edd Robinson 4597fdea48 Wire Retention service into engine 2018-10-10 15:40:08 +01:00
Edd Robinson 116456534a Initial Retention Service 2018-10-10 15:39:27 +01:00