Commit Graph

270 Commits (f2805626c7b720d71ec01181ec3d433432c2623f)

Author SHA1 Message Date
Brandon Farmer d83fabeabc feat(influxdb): user disabling 2019-09-23 11:57:16 -07:00
Lyon Hill 9d6b9555ac
feat(task): add functions to the task executor to allow for coordinator control (#15218)
We needed the coordinator to be able to execute manual runs and resume runs.
These two functions have been added, but we also needed to allow for the executor to be
mocked out. To do that we needed to return a Promise interface instead of an actual
struct. Both these changes are to facilitate coordinator work and testing.
2019-09-20 10:36:44 -06:00
Lorenzo Affetti 053836e5a5
Merge pull request #15203 from influxdata/flux-staging-v0.48.x
build(flux): update to Flux v0.48.0
2019-09-20 18:24:02 +02:00
Lyon Hill 11b9a6fb28
fix(task): Update task executor to match the expected executor interface. (#15205)
I chose to add a execute function that allow's the task executor to match expectation from
the scheduler but I left in the existing executor method that return's promises. This is
because I like to be able to have the accountablilty and visiblity inside what's happening
with each execution even though the promise isn't required for the scheduler. This function signature
will be used by the coordinator and potentially other's that want to ensure a 'execution' is completed.
2019-09-20 08:20:05 -06:00
Lorenzo Affetti 3f50cd2af9 Merge branch 'master' into flux-staging-v0.48.x 2019-09-19 17:20:40 +02:00
Lorenzo Affetti ab835c8e0e
refactor(dependencies): use new dependency injection framework (#15174)
refactor(dependencies): use new dependency injection framework
2019-09-19 17:01:17 +02:00
Stuart Carnie 7240d21e20
fix(task): PR feedback to fix docs 2019-09-17 12:02:04 -07:00
Stuart Carnie 57a710bb9c
fix(task): Improve Executor#Execute error consistency
Implementations of the backend.Executor produce errors limited to
querying the KV store. The remainder of the errors will be processed
in the implementation of a `RunPromise`.

Fixes #15161
2019-09-16 17:10:02 -07:00
Alirie Gray aef199bcc1
fix(tasks): use influxdb errors in scheduler (#15145) 2019-09-16 13:55:39 -07:00
Stuart Carnie a8d1fd0deb
Merge pull request #15123 from influxdata/sgc/scheduler
feat(task): Change interfaces defining scheduler and executor behavior
2019-09-12 15:10:17 -07:00
Alirie Gray 067305c148
feat(tasks): add WithMaxConcurrency to configure scheduler (#15121) 2019-09-12 11:47:27 -07:00
Stuart Carnie 9389b41c6e
feat(task): Change interfaces defining scheduler and executor behavior
See #14183
2019-09-11 17:02:28 -07:00
Lyon Hill 243e946697
fix(task): execution metric now shows correct data (#15112)
The first pass failed to save the correct execution metrics,
it will now compare the difference between start and finish.
2019-09-11 13:22:22 -06:00
Alirie Gray 21e14de7aa
feat(tasks): use env variable for concurrency (#15110) 2019-09-10 16:05:50 -07:00
Alirie Gray 645df57102
feat(tasks): use influxdb errors for executor metrics (#14926) 2019-09-10 12:48:55 -07:00
Lyon Hill cc84a43cea
feat(task): add run duration to task metrics (#15102)
We need to be able to see how long its taking task's to run as well
be able to see the start delta time per task.
2019-09-10 12:30:17 -06:00
docmerlin (j. Emrys Landivar) 03215c0028 chore(tasks): up concurrency to 11, this is a temporary workaround till we get a new scheduler 2019-09-09 17:13:14 -05:00
docmerlin (j. Emrys Landivar) c91ef8e398 fix(alerts and notifications): updates latest completed when status goes from inactive->active 2019-09-06 17:36:16 -05:00
Lyon Hill 2b75d20570
fix(task): Update task in scheduler to show updated logs. (#15008)
The current behavior is that the update is pushed into the scheduler,
and the scheduler cherry pick's what it needs. This leaves the task itself out
meaning any logging the scheduler did was not going to have the new task information in it.
2019-09-06 10:38:56 -06:00
Stuart Carnie 15aaae5dd4
fix(task): Create tags using NewTags to ensure they are sorted 2019-09-04 15:25:44 -07:00
Lyon Hill 5fe3600126
feat(task): Task execution will accurately measure queue delta (#14913)
When a task is told to execute it can be enqueued waiting for a worker.
This statistic will be superior to the existing delta based on scheduled for,
the current system can be effected by a user having slow queries or a long "delay" on the task.
This new way of measuring the same thing should allow us to accuratly measure when it is the task system's fault.
2019-09-03 12:55:33 -06:00
Lyon Hill 5d1c4d814b
fix(task): Remove allowance for duplicate run's in run list (#14875)
If we are caching run's in the kv storage system it is possible to get
the the cached version from the kv store and the recently completed run
from the analytical store. We just need to only show analytical results if
we find a duplicate.
2019-08-29 14:56:55 -06:00
Lyon Hill f8f8a3cf55
fix(task): fix panic when failing to update on startup (#14825)
* fix(task): fix panic when failing to update on startup

Additionally we have no need to claim tasks that are inactive
2019-08-27 13:16:18 -06:00
Lyon Hill ee9e622c6d
feat(task): Add task middleware's for checks and notifications (#14809)
To have checks and notifications happen transactionally we need to be
able to alert the task system when a new task was created using the checks and notifications systems.
These two new middlewares allow us to inform the task system of a update
to a task that was created through the check or notification systems.
2019-08-26 16:54:52 -06:00
Adam 945b68b8fd fix(query): finish refactoring the repl and inject the secret service as a dependency 2019-08-26 16:46:17 -06:00
Michael Desa 0e28ee71be
test(task/backend/middleware): skip flaky test TestCoordinatingTaskService_ClaimTaskUpdatesLatestCompleted
Opened https://github.com/influxdata/influxdb/issues/14797
2019-08-26 07:55:40 -04:00
George 0cc9caa1d4
refactor(tasks): separate coordinator and middleware (#14779) 2019-08-23 19:05:13 +00:00
docmerlin (j. Emrys Landivar) 19fe098888 chore(ci): update go-tools 2019-08-22 10:55:05 -05:00
Nathaniel Cook 1b8ab3c2f2 fix(query): remove http.to and update test cases that used it 2019-08-21 09:59:01 -06:00
Lyon Hill 0b247cce5b
feat(task): Remove token's from task structures (#14712)
* feat(task): Remove token's from task structures

We had previously removed token's from the task api but left the token in place in several locations in the stack.
Now we can cleanly remove the extra tokens.
2019-08-20 08:42:40 -06:00
Lyon Hill a8d7870689
feat(task): impersonate user on task execution (#14675)
* feat(task): impersonate user on task execution

Passing tokens to tasks is cumbersome and we needed a way to more easily create tasks. With this change we no longer need a token on task create. We take the user that created the task and pass that in as the "owner". As far as the task is concerned the owner is the source of permissions.

This is done by adding an additional field on task create that is OwnerID. We will no longer respect the token passed in and it will be deprecated soon.

Things to do still:
Task updates need to allow for owners to be set.
2019-08-15 18:31:52 -06:00
Lyon Hill 9c0ee9e789
fix(task): Make runs sorting and limits work (#14663)
Because we were grouping by taskID and status we are returning limit(n) results for
"success" and limit(n) results for "failed" runs.
2019-08-15 07:27:42 -06:00
Lyon Hill 28043bcab5
fix(task): Fix inconsistancies in run query (#14661)
We currently have some data that has both a status tag and a status field
because of that we need to exclude the status field from the query results
2019-08-14 14:35:30 -06:00
Lyon Hill e671c71e69
fix(task): Remove the tag and field status duplication (#14643) 2019-08-13 14:58:50 -06:00
Alirie Gray 16c400c0d0 feat(tasks): sort runs by most recently scheduled 2019-08-12 12:32:17 -07:00
Alirie Gray ca6625c261 fix(tasks): add run limit check to analytical store 2019-08-12 08:51:05 -07:00
Alirie Gray 30abb1b1b0 feat(tasks): add new executor prometheus metrics 2019-07-31 14:29:05 -07:00
Sebastian Borza 95b834ca2a
push task backend logging messages back to debug 2019-07-25 17:17:19 -05:00
Alirie Gray da4615ea17
test(tasks): add test for ReadTable in analytical store (#14428) 2019-07-23 14:26:21 -07:00
Sebastian Borza 0653043353
move logger facility back to Info from Debug 2019-07-23 07:35:57 -05:00
Chris Goller 986f2eaa75
fix(task/backend): add auth id for marshaling (#14413) 2019-07-22 20:45:03 -05:00
Lyon Hill 3c3e6172a5
fix(task): eliminate unneccesary auth checking when communicating to internal systems (#14411) 2019-07-22 16:44:49 -06:00
Lyon Hill 10bfc91562
fix(task): fix an issue where tasks fail to resume on claim (#14356) 2019-07-16 14:10:28 -06:00
Alirie Gray c7f09d6a56
chore(tasks): use pointers for task errors (#14343) 2019-07-15 13:57:51 -07:00
Lyon Hill bf460ef4d2
fix(tasks): Add a log message for run transition clairity (#14321)
* fix(tasks): Add a log message for run transition clairity

We on occasion will see a run in chronograf with missing run data.
We need to find out if we are submitting incomplete data or if we submit full data and somethinge else is happening
2019-07-12 10:10:11 -06:00
Lyon Hill 1cd3705576
fix(task): force the scheduler to use the correct success when updating metrics (#14313) 2019-07-11 13:44:21 -06:00
George 61e35a8554
fix(tasks) report errors found when iterating over flux query (#14287)
* Report errors found when iterating over flux query in task

* Add failing test for tasks executor result iterator exhaust failure

* Ensure errors exhausting tasks query result iterator are surfaced as task failure

* Update CHANGELOG with task result iteration error surfacing fix
2019-07-11 17:45:45 +01:00
Alirie Gray 9303f14726 feat(tasks): add last and checkpoint functions 2019-07-08 14:06:15 -07:00
Lyon Hill c8becfd4a2
feat(task): Create a new task executor for the new modular scheduler (#14252)
* feat(task): create new executor for modular scheduler
2019-07-08 08:13:29 -06:00
Lyon Hill 89acf847ea
feat(task): Build interfaces for a generic scheduler. (#14163)
* feat(task): Build interfaces for a generic scheduler.
2019-06-21 10:31:43 -06:00