Commit Graph

242 Commits (ce00375298dfdc9300407b82a785de3bb4dd4894)

Author SHA1 Message Date
AJ Bond 941e7526c0 fix(http): Fix developer mode default
Developer mode is now passed to assets
closes #2050
2018-12-21 16:33:04 -05:00
Adam 30b2d9ca00
refactor(cmd/influxd): move driver code for influxd main package to sub-package so it can be reused. (#2089) 2018-12-20 17:05:36 -05:00
Adam ad38ad8c3f Revert "refactor(cmd/influxd): move driver code for influxd main package to sub-package so it can be reused (#2077)"
This reverts commit c3c12d1517.
2018-12-20 16:29:28 -05:00
Adam c3c12d1517
refactor(cmd/influxd): move driver code for influxd main package to sub-package so it can be reused (#2077)
* refactor(cmd/influxd): move driver code for influxd main package to sub-package so it can be reused.

* chore(query/influxql): moved query_test.go and requisite files to the influxql dir to be closer to the code it tests. (#2013)
2018-12-20 16:15:40 -05:00
Ben Johnson 846192c066
Merge pull request #1886 from influxdata/bj-refactor-test-cancellation
fix(cmd/influxd): Refactor test cancellation out of main path.
2018-12-14 10:43:15 -07:00
Lyon Hill f7ae8c3524
feat(api/task): Add validation for both tasks and buckets on task create (#1900)
fixes #1622
2018-12-12 16:07:40 -07:00
Ben Johnson 89bf9765cc
fix(cmd/influxd): Refactor test cancellation out of main path.
This commit moves the `Main.cancel()` execution to the `main_test.go`
file so it's only executed for tests. This was interfering with the
shutdown process on the regular `influxd` binary.
2018-12-12 10:53:10 -07:00
Ben Johnson 8d071f85fd
Fix hang on help command. 2018-12-11 11:07:54 -07:00
Edd Robinson c4b42c72be Add option to disable TSI metrics 2018-12-10 15:02:26 +00:00
Edd Robinson 3ea3d90e10
Merge pull request #1623 from influxdata/er-storage-metrics
Add storage engine metrics
2018-12-07 17:50:13 +00:00
Mark Rushakoff 2e81dd31b4 refactor(task): enable high-frequency WithTicker option
Previously, the WithTicker option would call TickScheduler.Tick every
time the underlying time.Ticker sent a time on its channel. This meant
we used a 1s period, which meant that in the worst case, we would see a
tick at about 999ms after the second rollover.

This change increases the underlying time.Ticker frequency, but only
calls TickScheduler.Tick after a second rolls over. Since we now use a
tick frequency of 100ms, during normal operation, TickScheduler.Tick
will be called within 0.1s after the second rolls over.
2018-12-07 08:38:59 -08:00
Edd Robinson 93892c20ab Fix test 2018-12-07 14:32:34 +00:00
Edd Robinson c76626accf Fix rebase 2018-12-07 14:32:34 +00:00
Edd Robinson f56bc0853f Convert TSM compaction stats to Prom metrics
This commits converts all the 1.x TSM compaction statistics, which
previously were written to an _internal db, to Prometheus metrics.
2018-12-07 14:32:34 +00:00
Kelvin Wang 2b602bfcfe fix(http): convert org errors endpoint 2018-12-06 11:05:13 -05:00
Jade McGough 8c961e12bb
Labels (#1668)
* feat(platform): add label struct

* feat(platform): add label service interface

* WIP label service

* chore(http): simplify URMapping validation

* WIP label service skeleton

* add new GET labels handler

* feat(http): add POST handler for label service

* feat(http): add label delete handler

* fix json tag

* add happy path testing

* feat(http): add label endpoints to dashboard service

* make fmt

* add label delete handler

* make fmt again :(

* feat(bolt): add label implementation

* wire boltdb implementation of labels

* feat(mock): add mock for label service

* fix tests, add delete test

* add remaining tests, flesh out GET params

* unused code

* remove comments

* add labels endpoints

* clean up labels after deleting a dashboard

* fix issues from code review

* WIP remove type from labels

* feat(http): add label cli functions

* fixes

* make fmt

* feat(http): add labels to tasks and buckets

* feat(bolt): remove labels if their resources are deleted

* remove bolt cleanup for now

* make fmt

* type conversion magic

* feat(inmem): implement label service

* prevent race conditions

* remove labels from inmem if their resources are deleted

* fix race condition

* fix formatting
2018-12-03 08:07:08 -08:00
Jade McGough 873aae3fad
Revert "feat(http): add label service" (#1667)
This reverts commit 70a430c599.
2018-12-03 04:27:27 -08:00
Jade McGough 70a430c599
feat(http): add label service (#1346) 2018-11-30 21:08:35 -08:00
Jorge Landivar b0fc331c6d
Merge pull request #1589 from influxdata/bug/1235
remove requestedAt param from retry call
2018-11-30 13:39:50 -06:00
j. Emrys Landivar (docmerlin) 7ffd18c7b8 remove requestedAt param from retry call and refactor TaskService interface 2018-11-30 13:14:21 -06:00
kelwang 6db9acc951
Revert "Revert "convert /buckets endpoint error to platform error "" 2018-11-30 13:27:40 -05:00
Mark Rushakoff b1c80c8991
Merge pull request #1627 from zhulongcheng/task-page-size
fix(task): add limit field to TaskFilter
2018-11-30 08:17:12 -08:00
Edd Robinson 9403c1ec8e Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
zhulongcheng d8c80fa50c add limit param to task service 2018-11-30 10:02:41 +08:00
kelwang 2a57dc1970
Revert "convert /buckets endpoint error to platform error " 2018-11-29 12:02:32 -05:00
Kelvin Wang 232d9d71e3 fix(http): fix bucket errors 2018-11-29 09:58:56 -05:00
Ben Johnson 1862b4421d
Integrate scanned values statistics tracking. 2018-11-28 15:32:06 -07:00
docmerlin (j. Emrys Landivar) 57fe285e56 add run return to rerun 2018-11-27 11:48:32 -06:00
Mark Rushakoff a06d4dea16 refactor(query): explicitly shut down query controller
The flux query controller was updated to include a Shutdown method a
while ago. Explicitly handle query controller creation and shutdown
where applicable.

In influxd, this ensures that outstanding queries are handled before the
process dies. In tests, this ensures that query controller goroutines
aren't leaked, which drastically simplifies reading full stack traces.

This change also registers query controller metrics with the prometheus
registry in influxd.
2018-11-26 16:13:19 -08:00
Mark Rushakoff b0b0d965ff feat(task): integrate task logs with system buckets
- Brought over enterprise's QueryLogReader, with small adjustments
  - Time filters are for the run's ScheduledFor field, per spec
- Adjusted run log timestamps for consistent formatting:
  - ScheduledFor is RFC3339 because it's a whole-second timestamp
  - StartedAt, FinishedAt use RFC3339Nano for high precision
- Several test adjustments to use relative time, for easier integration
  with storage retention
2018-11-15 08:59:15 -08:00
Ben Johnson 37be1e9219
Add end-to-end write/query integration testing. 2018-11-15 09:08:36 -07:00
Kelvin Wang a783c213c3 (feat/cmd): add default token 2018-11-09 19:43:29 -05:00
Jeff Wendling 22e23d6e31 final touches
- move default directories to the storage package
- make the directory layout match before
- clean up some dead missed functions
2018-11-08 11:39:36 -07:00
Jeff Wendling 2cbc2ee896 refactor wal out, paths, and options 2018-11-08 11:39:36 -07:00
Jeff Wendling 0d411023f2 config: clean up
- Breaks the weird cycle that existed with the EngineOptions
- Removes a bunch of useless parameters
- Moves around a bunch of defaults
2018-11-08 11:39:36 -07:00
Michael Desa 459f2cbfbb feat(cmd/influx): add local flag for operating directly with boltdb
feat(internal/fs): move influxDir function to internal package in base of repo

feat(cmd/influx): add local flag that operates on local file system

feat(cmd/influx): add local support for org command

feat(cmd/influx): add local support for user command

eat(cmd/influx): add local support for bucket command

feat(cmd/influx): add error for local with query/task/setup cmds

fix(cmd/influx): unshadow error in delete bucket command

fix(cmd/influx): update copy for local flag commands
2018-11-02 14:34:48 -04:00
Michael Desa 7227bf8fa2 feat(platform): add operation log for resources
feat(platform): add dashboard operation log interface

feat(bolt): add dashboard operation log to bolt client

feat(platform): add links to dashboard load response

fix(http): update links in json response of dashboards

feat(bolt): add operation logs for each resource

feat(http): add routes for operation logs

feat(cmd/influxd): set operation logs on http api backend
2018-11-02 14:21:14 -04:00
Jorge Landivar 34ab06634f
Merge pull request #1266 from influxdata/opentracing
open tracing context handling for tasks and for HTTP endpoints for tasks and query
2018-11-01 16:33:19 -05:00
docmerlin (j. Emrys Landivar) bcbd7b5c24 context handling for tasks and for HTTP endpoints for tasks and query 2018-11-01 16:29:52 -05:00
Mark Rushakoff 89813b8aa4 chore(cmd): fix megacheck errors 2018-11-01 12:54:46 -07:00
Mark Rushakoff c3e3b44a75 feat(task): include task scheduler metrics on /metrics endpoint
Closes #1223.
2018-10-30 18:52:02 -07:00
kelwang 3b1660d7d0
Merge pull request #1229 from influxdata/feat/telegraf_http
add http for telegraf
2018-10-30 15:33:51 -04:00
Kelvin Wang 74ef984e53 add http for telegraf 2018-10-30 14:00:10 -04:00
Mark Rushakoff cd80e41220 feat(task): add ability to retry runs
This also adjusts the TaskService interface's RetryRun method to accept
a task ID rather than an org ID. Internally, we still look up runs by
organization, and maybe that will change later, but this is a more
natural way for clients to look it up.
2018-10-30 09:20:40 -07:00
Chris Goller c978ead25b
Merge pull request #1227 from influxdata/feature/clean-influxd-main
Clean up influxdb main
2018-10-30 07:37:29 -05:00
Edd Robinson 46a7b8155a
Merge pull request #1170 from zhulongcheng/rm-index
refactor(tsdb): remove tsdb.Index and tsdb.IndexSet
2018-10-30 11:10:54 +00:00
Chris Goller 7756f8dc6a feat(cmd/influxd): add log levels 2018-10-30 02:27:51 -05:00
Chris Goller eb5f4fbe8a refactor(cmd/influxd): use kit and close all services 2018-10-30 01:57:48 -05:00
Jorge Landivar 198793d955
Merge branch 'master' into cancel-task 2018-10-29 17:07:02 -05:00
Jonathan A. Sternberg 67dc4d8cdd
fix: conform to logging style guide for initial log messages
These are the log messages that get printed immediately when starting
the application for the first time. This fixes the messages to conform
to the logging style guide.
2018-10-29 16:42:55 -05:00
docmerlin (j. Emrys Landivar) 6e2620418c Now you can cancel runs 2018-10-29 16:08:50 -05:00
Mark Rushakoff cfd685d72a fix(cmd/influx): require query command's org-id flag
Before, if you ran `influx query` and didn't have --org-id, you would
get an unhelpful runtime error like `id must have a length of 16 bytes`.
After this, you get a more helpful `required flag(s) "org-id" not set`
error.
2018-10-29 11:52:41 -07:00
Chris Goller 226d18bb22 fix(cmd/influx): typos in cli variables 2018-10-26 15:51:55 -05:00
zhulongcheng 9d29874e20 move SeriesFileDirectory constant to defaults package 2018-10-27 02:08:31 +08:00
Chris Goller d2ecf8aad6 http(write): support timestamp precision 2018-10-25 21:23:50 -05:00
Chris Goller 9d64d2192b feat(write): add line protocol batch writing 2018-10-25 19:13:53 -05:00
Chris Goller ca2b6941f2 refactor(cmd/influx): write now returns errors rather than os.Exit 2018-10-25 19:13:53 -05:00
Chris Goller 05117ac7cb fix(cmd/influx): typos and grammar for write command 2018-10-25 19:13:53 -05:00
Chris Goller b3a7324c3e fix(cmd/influx): update write to new platform ID 2018-10-25 19:13:53 -05:00
Chris Goller dd8c2691ed feat(cmd/influx): add write to influx binary 2018-10-25 19:13:53 -05:00
Lyon Hill 0894d5a3e3
fix task create (#1192)
fixes #1190
2018-10-25 13:57:17 -06:00
Lyon Hill 751a53dd24
Allow coordinator to pick up existing tasks on startup (#1187) 2018-10-25 13:50:41 -06:00
Lyon Hill 19b7709bad
Add tasks to the influx cli (#1163) 2018-10-23 11:51:13 -06:00
kelwang 022bdc86d6
Merge pull request #1120 from influxdata/fix/onboarding_change
Fix/onboarding change
2018-10-19 10:59:07 -04:00
Chris Goller 11f869fb37
feat(cmd/influx): add org name option to repl (#1121)
* feat(cmd/influx): add org name option to repl

* fix(cmd/influx): repl org-id and org are mutually exclusive
2018-10-18 15:55:31 -05:00
Kelvin Wang 60fdf79726 add retention policy 2018-10-18 16:04:21 -04:00
Kelvin Wang a3c9185ba6 remove default org bucket 2018-10-18 13:38:17 -04:00
Mark Rushakoff 5af42835fa chore: default bolt db location to .influxdbv2 dir
Per previous discussion in #1065.
2018-10-12 16:39:02 -07:00
Mark Rushakoff 2958318c1f chore(bolt): log path of bolt file
Now at startup, there will be a log line like:

    Opened bolt database {"log_id": "0B5Oks9W000", "path": "influxd.bolt"}

Which gives a somewhat better idea of what's going on.
2018-10-12 08:14:50 -07:00
Kelvin Wang b5e7b5f138 enter "n" to cancel setup 2018-10-11 20:58:29 -04:00
Kelvin Wang 1603865ef4 kill the default loop in password 2018-10-11 18:14:30 -04:00
Kelvin Wang a7754d2322 fix some issues onboarding 2018-10-11 18:02:58 -04:00
Jonathan A. Sternberg deda90b749
fix: buildtsi should use the platform toml package instead of influxdb 2018-10-11 13:27:36 -05:00
Edd Robinson 590967c092 Add skeleton buildtsi 2018-10-11 17:45:47 +01:00
Leonardo Di Donato 5a0b3eb2f9 fix(cmd/influx): composite literals
Signed-off-by: Leonardo Di Donato <leodidonato@gmail.com>
2018-10-11 09:54:18 -05:00
Leonardo Di Donato 8d7f06cf4b feat(platform/id): using uint64 for platform.IDs
Signed-off-by: Leonardo Di Donato <leodidonato@gmail.com>
Co-Authored-by: Lorenzo Fontana <lo@linux.com>
2018-10-11 09:54:18 -05:00
Jonathan A. Sternberg e7e17d6972
refactor: move the logger package from influxdb to platform
We are moving the necessary code for 2.0 from the influxdb 1.X
repository to the platform 2.0 repository. The logger is an unnecessary
dependency on the old influxdb that is making life more complicated.
2018-10-10 15:49:07 -05:00
Jeff Wendling 6bd79ab2fe Remove unused grpc reader
The pb package was only referenced in cmd/influx/query.go, but in
dead code, since it uses the same machinery as the repl, which goes
through the HTTP endpoints, rather than the gRPC endpoints.
2018-10-10 14:06:27 -06:00
Edd Robinson d5ed17adb2 Rename retention service 2018-10-10 15:40:08 +01:00
Edd Robinson 031bb7f502 Add prom metrics 2018-10-10 15:40:08 +01:00
Edd Robinson 4597fdea48 Wire Retention service into engine 2018-10-10 15:40:08 +01:00
Adam 195eb04350
Chore/move from function to platform (#1013)
* moved execution code for from into query/functions/inputs

* rebase with master, disable buckets accessed test
2018-10-09 20:36:41 -04:00
Jeff Wendling 810833f33f chore: refactor reads service and make it consumable externally
This pulls in the code that allows doing reads with flux into the
platform repo, and removes extra.go.

The reusable portion is under storage/reads, where the concrete
implementation for one of the platform's engines is in
storage/readservice.

In order to make this more reusable, the cursors had to move into
their own package, decoupling it from all of the other code in the
tsdb package. tsdb/cursors is this new package, and type/function
aliases have been added to the tsdb package to point at it.

The models package already is very light on transitive dependencies
and so it was allowed to be depended on in a concrete way in the
cursors package.

Finally, the protobuf definitions for issuing GRPC reads has been
moved into its own package for two reasons:
    1. It's a clean separation, and helps keep it that way.
    2. Many/most consumers will not be using GRPC. We just
       use the datatypes to express the API which helps making
       a GRPC server easier.
It is left up to future refactorings (specifically ones that involve
GPRC) to determine if these types should remain, or if there is a
cleaner way.

There's still some dependencies on both github.com/influxdata/influxql
and github.com/influxdata/influxdb/logger that we can hopefully remove
in future refactorings.
2018-10-09 09:51:13 -06:00
Chris Goller 90494a5309 chore(fmt): fix and simplify go formatting 2018-10-08 17:23:54 -05:00
Jeff Wendling 0360fc418c Remove empty index package for tsi1 2018-10-08 13:18:30 -06:00
Jeff Wendling c48fac9880 chore: remove some undesirable code 2018-10-08 11:20:31 -06:00
Kelvin Wang 1000782f10 add confimation scene 2018-10-05 19:49:02 -04:00
Edd Robinson 81e0fbabeb Integrate WAL into engine 2018-10-05 12:44:27 +01:00
kelwang 05b68ce154
Merge pull request #973 from influxdata/fix/remove_default_username
remove default username
2018-10-05 06:43:29 -04:00
Adam 58f4e9fc0b
Refactor Platform according to new organization in `flux` (#966)
We reorganized the functions in flux to have the structure:
/functions
/inputs
/transformations
/outputs
this PR catches up platform to work with the new package layout.

As a separate refactoring issue, we should discuss:

from(bucket: ) should migrate from flux --> platform
to_http and to_kafka should migrate from platform --> flux
2018-10-05 00:06:14 -04:00
Kelvin Wang 2aba58256b remove default username 2018-10-04 18:23:41 -04:00
Mark Rushakoff 955eabd551 refactor(http): prefer Addr over URL in field names
The other services all use the field Addr, so consistently use Addr,
instead of sometimes using URL.
2018-10-04 13:59:58 -07:00
Mark Rushakoff a919806ac8 fix: eliminate data race in cmd/influxd
The race detector was picking up a data race because of the
unsynchronized reassignment of ctx:

```
$ go run -race ./cmd/influxd
...
^C
==================
WARNING: DATA RACE
Write at 0x00c00053d220 by main goroutine:
  main.platformF()
      /Users/mr/gomod/platform/cmd/influxd/main.go:381 +0x2cf7
  github.com/spf13/cobra.(*Command).execute()
      /Users/mr/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:766 +0x8b2
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/mr/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:852 +0x432
  github.com/spf13/cobra.(*Command).Execute()
      /Users/mr/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:800 +0x38
  main.Execute()
      /Users/mr/gomod/platform/cmd/influxd/main.go:388 +0x4e
  main.main()
      /Users/mr/gomod/platform/cmd/influxd/main.go:46 +0x2f

Previous read at 0x00c00053d220 by goroutine 147:
  main.platformF.func1()
      /Users/mr/gomod/platform/cmd/influxd/main.go:330 +0x3c

Goroutine 147 (running) created at:
  main.platformF()
      /Users/mr/gomod/platform/cmd/influxd/main.go:329 +0x2554
  github.com/spf13/cobra.(*Command).execute()
      /Users/mr/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:766 +0x8b2
  github.com/spf13/cobra.(*Command).ExecuteC()
      /Users/mr/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:852 +0x432
  github.com/spf13/cobra.(*Command).Execute()
      /Users/mr/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:800 +0x38
  main.Execute()
      /Users/mr/gomod/platform/cmd/influxd/main.go:388 +0x4e
  main.main()
      /Users/mr/gomod/platform/cmd/influxd/main.go:46 +0x2f
==================
```

So just assign context.WithCancel to a new variable instead.
2018-10-04 11:46:08 -07:00
Edd Robinson 41aba8b539 Tidy up tag keys 2018-10-04 10:52:36 +01:00
Edd Robinson cfb3df203a Working storage engine 2018-10-04 10:24:43 +01:00
Jeff Wendling 8c338df860 Add very hacky read support 2018-10-04 10:24:43 +01:00
Jeff Wendling d18814267e Add very basic write support 2018-10-04 10:21:22 +01:00
Edd Robinson d8f55446fd
Merge pull request #929 from influxdata/storage-engine-integration
Storage engine integration
2018-10-04 10:13:39 +01:00
Jeff Wendling 5fa10786a2 Fix issue with rebasing 2018-10-03 17:40:01 -06:00
Jeff Wendling 831833dcab Use _field/_measurement in filter expressions 2018-10-03 17:39:30 -06:00