Commit Graph

29950 Commits (432c4621d45a967628edb60cb03212af90eebd01)

Author SHA1 Message Date
Deniz Kusefoglu 432c4621d4
Merge pull request #13561 from influxdata/feat-rate-limiting
Rate Limiting notifications on read/write endpoints
2019-04-22 15:25:13 -07:00
Deniz Kusefoglu 47047865d6 Fix typon in create dashboard notification
Notify on 429 errors on query in dashboard and DE
Notify on 429 error in line protocol write
Query for limitStatus on Dashboard and DE load
Remove React import in LimitChecker
Rename limits folder to cloud
Add strict comparison to status code checking
Prevent blow up if error doesn't contain status
convert readLimit writeLimit to boolean sounding vars
2019-04-22 15:13:22 -07:00
Delmer cf8785dc76
feat(ui/variables/rename): add danger zone to rename (#13555) 2019-04-22 15:25:08 -04:00
Jonathan A. Sternberg e5657ca62b
feat(query): implement the read tag keys rpc call in the query engine (#13513)
If a pattern is seen that matches reading the tag keys, it will be
replaced with a direct RPC call to read the tag keys which should be
better optimized than reading from the storage engine tsm1 files.
2019-04-22 14:09:44 -05:00
Lyon Hill 5b8c4ea0e8
fix task limit in kv and add tests Also fix a minor race condition in task scheduler (#13538)
* fix task limit in kv and add tests Also fix a minor race condition in task scheduler

* update comment
2019-04-22 13:09:19 -06:00
Jeff Wendling 46ad4b1b18
Merge pull request #13314 from influxdata/jmw-tsi1-partition-deadlock
tsi1: partition close deadlock
2019-04-22 12:39:11 -06:00
alexpaxton 5b168f74b3
Remove profile link (#13551) 2019-04-22 10:39:43 -07:00
Jeff Wendling 59279837e5 tsi1: partition close deadlock
When a tsi1 partition closes, it waits on the wait group for compactions
and then acquires the lock. Unfortunately, a compaction may start in the
mean time, holding on to some resources. Then, close will attempt to
close those resources while holding the lock. That will block until
the compaction has finished, but it also needs to acquire the lock
in order to finish, leading to deadlock.

One cannot just move the wait group wait into the lock because, once
again, the compaction must acquire the lock before finishing. Compaction
can't finish before acquiring the lock because then it might be operating
on an invalid resource.

This change splits the locks into two: one to protect just against
concurrent Open and Close calls, and one to protect all of the other
state. We then just close the partition, acquire the lock, then free
the resources. Starting a compaction requires acquiring a resource
to the partition itself, so that it can't start one after it has
started closing.

This change also introduces a cancellation channel into a reference
to a resource that is closed when the resource is being closed, allowing
processes that have acquired a reference to clean up quicker if someone
is trying to close the resource.
2019-04-22 09:06:32 -06:00
tmgordeeva 8de4517ed3
Merge pull request #13353 from influxdata/tg-tsm-metrics
feat(storage): add tsm level metrics
2019-04-19 17:20:59 -07:00
Palakp41 54553b650c
Merge pull request #13508 from influxdata/fix/sorting-resource-list
Alphabetize all resource lists using same sorting
2019-04-19 14:43:53 -07:00
Palak Bhojani b0253c92e2 Use memoizeOne function for sorting resources 2019-04-19 14:24:37 -07:00
Deniz Kusefoglu 3285009c11 Use memoize one instead of getDerivedStateFromProps for soring state 2019-04-19 14:24:36 -07:00
Palak Bhojani eff0b3e21f Resource List sorts from state instead of redux state 2019-04-19 14:24:36 -07:00
Palak Bhojani 732ec9b20a Alphabetize all resource lists using same sorting 2019-04-19 14:24:36 -07:00
Jade McGough 39b96396c2
Merge pull request #13522 from influxdata/label-post-param
fix(http): remove incorrect param from labels post
2019-04-19 14:14:11 -07:00
Iris Scholten a7e7f20dc2
Merge pull request #13520 from influxdata/bucket-danger-zone
feat(ui/buckets): add buckets danger zone
2019-04-19 14:13:45 -07:00
Delmer Reed 4684b9fac0 feat(ui/buckets): add buckets danger zone
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
2019-04-19 17:02:45 -04:00
Jade McGough b4851d4ecb fix(http): remove incorrect param from labels post 2019-04-19 14:01:24 -07:00
Delmer 429baf5ca7
test(task/scheduler): skip flakey parallel tests (#13516) 2019-04-19 16:40:28 -04:00
Tanya Gordeeva 97572ee878 feat(storage): add tsm level metrics
Adds prometheus metrics recording compaction levels for TSM files.
2019-04-19 13:33:52 -07:00
Delmer 956d1fd59b
fix(ui/var/rename): resolve naming when changing types (#13518) 2019-04-19 14:08:04 -04:00
Iris Scholten dce8d00a0f
Merge pull request #13517 from influxdata/fix/autorefresh-dropdown
Fix autorefresh icon always showing pause
2019-04-19 10:26:16 -07:00
Iris Scholten 5a55d4496a Fix autorefresh icon always showing pause 2019-04-19 09:48:29 -07:00
kelwang 0703f670b8
Merge pull request #13454 from influxdata/remove_name_cell_update
fix(http): fix the swagger for cell update
2019-04-19 12:38:45 -04:00
Kelvin Wang 5d195b63e0 fix(http): fix the swagger for cell update 2019-04-19 11:49:39 -04:00
Lyon Hill 726fbefe9a
Integrate the new changes to tasks (#13473)
* Integrat the new changes to tasks
2019-04-19 08:37:59 -06:00
Jacob Marble 662cf578c9
fix(storage): Assume sorted StringIterators, and retain sorted order (#13491)
* fix(storage): Assume sorted StringIterators, and retain sorted order

* embed struct field

* improve MergedStringIterator efficiency
2019-04-19 01:22:49 -07:00
Stuart Carnie ad761ea0b7
Merge pull request #13426 from influxdata/sgc/feat/13369
Implementation of storage schema TagValues API
2019-04-18 16:34:05 -07:00
Stuart Carnie d5341a1a4a
feedback: Fix comments in template 2019-04-18 16:19:19 -07:00
Stuart Carnie 7a3b097197
fix: Add API compatibility assertion 2019-04-18 16:19:19 -07:00
Stuart Carnie 972cda1775
feedback: Changes in response to PR feedback 2019-04-18 16:19:18 -07:00
Stuart Carnie 904c91aecc
chore: Fix staticcheck complaints 2019-04-18 16:19:18 -07:00
Stuart Carnie d3790aa072
feat: Teach storage engine how to find tag values for a given key
The TagValues API will perform a linear scan if there is no predicate;
otherwise, it will use the index to find a list of candidate series
keys.

TagValues expects the predicate to be transformed such that
`_measurement` and `_field` are remapped to `\x00` and `\xff`
respectively.

There is one TODO marked to analyze the predicate for a
`\x00 = '<measurement>'` pattern. If found, the predicate can be
eliminated and fall back to a linear prefix scan by combining the org,
bucket and measurement.
2019-04-18 16:19:18 -07:00
Stuart Carnie 35e0094a28
feat: TimeRangeIterator for checking if keys have data in a TSM file
The TimeRangeIterator permits linear or random index scans and
can answer whether the current key has data for the specified time
interval, considering any tombstones.

When there are no tombstones there are some opportunities for
optimization to skip decoding blocks. Specifically, if the
queried time interval overlaps any boundaries of the TSM index entries.
2019-04-18 16:19:18 -07:00
Stuart Carnie 7544ea0a5b
feat: Teach Values how to determine it contains data for a time interval
Add a Contains API which is a peer to the TimestampArray.Contains
function. This is used by the schema APIs to determine if data exists
in the cache for a given key and time interval.
2019-04-18 16:19:18 -07:00
Stuart Carnie 1ddd0445d8
feat(tsm1): Add Seek API to TSMIndexIterator
Permits random access of the iterator, correctly maintaining state,
so that Next may be called to iterator from a given key.

This API will be used by the schema APIs when a predicate is specified,
typically requiring random access.
2019-04-18 16:19:18 -07:00
Stuart Carnie 36a33bcb9f
feat(tsdb): Teach storage how to only decode timestamps from a block
TimestampArray.Contains(min,max) API performs a binary search to
determine if timestamps exist for the given time interval.

It also implements Exclude to drop timestamps that have been tombstoned.

DecodeTimestampArrayBlock decodes only the timestamps of the provided
block.
2019-04-18 16:19:18 -07:00
Stuart Carnie 7fc9661b7b
chore: Move StringIterator to cursors package for wider reuse 2019-04-18 16:19:17 -07:00
Stuart Carnie e74f2f8e08
chore(cursors): Remove unused field 2019-04-18 16:19:17 -07:00
Stuart Carnie d67b1ef245
fix(cursors): Add go:generate directive 2019-04-18 16:19:17 -07:00
Jonathan A. Sternberg c98c29c1d1
feat(query): add push down rule for filters to read range procedure (#13512)
The read range procedure that uses the new rpc endpoints will now accept
filters using the same rules as the previous physical from procedure
spec.
2019-04-18 18:18:41 -05:00
Iris Scholten 00acbff017
Merge pull request #13510 from influxdata/org-name-dash-page
feat(ui): Add orgname to dashboard page title
2019-04-18 13:09:37 -07:00
Iris Scholten 24bd1850a6 feat(ui): Add orgname to dashboard page title 2019-04-18 12:57:29 -07:00
Christopher Davis 85b246e8c6
Merge pull request #13462 from influxdata/fix-readme-doc
Adding a tool dependency install note
2019-04-18 14:47:24 -04:00
Nathaniel Cook 1c2fd2eedd
Merge pull request #13506 from influxdata/flux-staging
Update to Flux v0.26.0
2019-04-18 12:13:49 -06:00
Delmer 87121fba1f
feat(ui/variables/csv): add csv variable (#13503) 2019-04-18 13:37:00 -04:00
Nathaniel Cook 4c77e3598b Merge branch 'master' into flux-staging 2019-04-18 11:01:22 -06:00
Nathaniel Cook 4c1cdd2095 fix(query): add panic stack to logs for query logging recovery 2019-04-18 10:57:43 -06:00
Nathaniel Cook 63cb413971 chore(dep): update Flux to v0.26.0 2019-04-18 10:51:35 -06:00
Nathaniel Cook 07f98e31e7 fix(query): fix misc tests with new master Flux 2019-04-18 10:51:35 -06:00