Commit Graph

1978 Commits (db/6263/compaction-debug-logging)

Author SHA1 Message Date
Edd Robinson 92b9bdef14 feat(inspect): add verify-tombstone 2019-11-17 14:53:39 +00:00
Edd Robinson f7f19c5904 refactor(storage): add tombstone extension 2019-11-17 14:43:38 +00:00
Jonathan A. Sternberg 40a7a577fc
Update flux version to v0.50.2
This upgrades the flux version to v0.50.2.

The secret service, which is used for alerts, is not included. The
`to()` function is also still not included.
2019-10-29 16:19:14 -05:00
Adam Perlin b8668c325a
Merge pull request #14201 from influxdata/influx-verify-panic-fix
fix(storage): replace panic with error in influx_inspect verify
2019-07-08 09:00:17 -07:00
Jonathan A. Sternberg 7ca4e644f1
Update flux version to v0.33.2 (#14208)
The flux in influxdb has been upgraded to use v0.33.2. A lot of
interfaces for the storage engine were changed during this so code had
to change to accomodate the new interfaces and remove the old ones.

Included in this commit is a patch file for the changes that were made.
A patch was generated for the following packages:

* `flux/stdlib/influxdata/influxdb`
* `storage/reads`
* `tsdb/cursors`

These are the three packages that are in common with version 2 of the
database and the first of these packages contains the specific
implementations that are used for version 1.

It is very possible that the next time we upgrade this, the patch will
not apply cleanly just like it wouldn't have applied cleanly to this
update. The patch is mostly meant to document exactly what changed
during the copy over to help ensure we don't forget things when adapting
the interfaces.

Add a patch file to hopefully make this easier in the future
2019-06-27 13:52:02 -05:00
Adam Perlin 23bb49981a fix(storage): replace panic with error in influx_inspect verify 2019-06-25 12:11:42 -07:00
Diego Rabatone Oliveira decbf4e62d Remove query language from version command
There is no need to print such messages in the CLI output of the version
flag. Besides being unnecessary, it makes harder to automate some tests
for those installing influxDB CE by themselves and/or automating
dockerfiles.

Fix influxdata/influxdb/issues/10451
2019-04-29 13:51:30 -03:00
Jeff Wendling 6833c4d082 fix(influx_inspect): verify-seriesfile with deleted index entries
The series index looks at a set of tombstones when querying the id for
a given key, but it does not look when asking for the offset for some
id, even if that id is deleted.

Update the verify tooling to check that the index agrees with the
deleted status of the id, but skip doing the extra checks if the
id is deleted.
2019-04-17 12:24:23 -06:00
Jonathan A. Sternberg 31501c9dcf
Upgrade flux to the latest version and remove the platform dependency
This integrates the influxdb 1.x series to the latest version of Flux
and updates the code to use it. It also removes the dependency on
platform and copies the necessary code from storage into the 1.x series
so the dependency is unneeded.

The flux functions specific to 1.x have been moved to the same structure
that flux changed to with having a `stdlib` directory instead of a
`functions` directory. It also adds a `databases()` function that
returns the databases from the meta client.
2019-04-04 10:55:09 -05:00
Stuart Carnie 09a9d34430
fix(influx): Ensure credentials are passed for Flux queries
Fixes #11710
2019-03-29 16:39:34 -07:00
Stuart Carnie a43852958d
chore(gen): Back port improvements and changes from OSS 2.0
Specifically:

* renamed files for consistency between versions
* added `time-interval` schema option
* updated schema example documentation

Back port of improvements from #12710
2019-03-20 11:01:50 -07:00
Stuart Carnie 9b7ffd36ad feat(influx_tools): Add support for describing schema via a TOML file
The `influx_tools generate` command has a new option, `-schema`, for
specifying a TOML file which describes a desired schema.
2019-02-26 16:51:19 -07:00
Edd Robinson 42267331bd
Merge pull request #10206 from rda0/master
Fix legacy restore bug #10072
2019-02-11 10:23:15 +00:00
Edd Robinson 4356c06a71
Merge pull request #10336 from wrrn/error-golint
Fix linting errors in the errlist package
2019-02-01 07:58:05 -08:00
Stuart Carnie 8aba6f73a5
feat(influx_inspect): Add -check-utf8 to verify sub-command 2018-12-21 10:44:43 -07:00
Stuart Carnie 216cfa329f feat(flux): Add user authentication and authorization support
* Add AuthorizeDatabase API to QueryAuthorizer to verify a user has
  appropriate access to the specified database
* Update serverFluxQuery handler to require a meta.User when auth is
  enabled
* update Flux createFromSource and createBucketsSource dependencies to
  require Authorizer when auth is enabled in configuration
* update createFromSource to verify read permissions for each bucket
  specified in a Flux query
* update BucketsDecoder, which implements the buckets() Flux function,
  to return buckets that the user has read or write permissions to
* add unit tests to verify authentication is required for Flux HTTP
  requests when auth is enabled in configuration
2018-12-19 14:46:12 -07:00
Stuart Carnie 23d1281b2a feat(influx_tools): Add gen-init and gen-exec commands
* gen-init initializes a database based on the provided CLI spec
* gen-exec generates the data for the target database based on the same
  CLI spec as gen-init
2018-12-12 07:38:21 -07:00
Stuart Carnie 39a3d2335e chore(flux): Update to Flux 0.7.1
Resolve breaking API changes
2018-11-30 10:38:56 -07:00
Jeff Wendling c4a3ecf021 fix verify seriesfile in presence of tombstones
tombstone entries don't contain a key, and parsing the empty
key panics.
2018-11-21 11:07:38 -07:00
Stuart Carnie 6affa7c7f5 chore(flux): Remove Flux gRPC handler and update config.sample.toml 2018-11-05 14:26:37 -07:00
Stuart Carnie 5bcb952b6f chore(cli): Improve APIs to increase reuse in Enterprise 2018-11-02 09:16:42 -07:00
Stuart Carnie 2aa2768677 chore(cli): Remove flaky tests
The two deleted tests don't exercise any useful behavior or use cases.
2018-11-01 17:28:23 -07:00
Stuart Carnie c5ec3a3244 feat(influx): Add Flux support, enabled by specifying -type=flux 2018-10-25 11:12:14 -07:00
Stuart Carnie 9d1a8c97d8 feat(influx): Add `-type` switch and implement decision tree
* `-type` reports error for invalid values
* Implemented decision tree such that appropriate message is printed
  when Flux version of command is executed
* all variations for invoking influx identified in #10407 work as
  expected
2018-10-25 11:12:14 -07:00
Ben Johnson 76df4371ee
Merge pull request #9884 from influxdata/bj-dumptsi-series-file-help
Add -series-file flag to dumptsi command help.
2018-10-17 08:52:50 -06:00
Jeff Wendling 69dc031a75 Use platform for most of the read service code
This commit deletes most of the code to service reads from influxdb
and pulls it in from platform instead.

Of note, the models.Tag and models.Tags types are now aliases to the
platform models.Tag and models.Tags types. Additionally, many types
in the tsdb package relating to cursors are also aliases to the same
types in the platform cursors package.

This updates the platform and flux repos to the current master in the
Gopkg.lock.
2018-10-10 11:20:25 -06:00
Edd Robinson c57c1744ed Set cache size when building TSI index
If there is a significant amount of data in the WAL, then building the
TSI index can be problematic without being able to set the max cache
size to something larger.

This commit adds an option to se the maximum cache size.
2018-10-08 16:26:37 +01:00
Ben Johnson 2cb97146f0
Fix series file tombstoning.
This commit fixes an issue with the series file compaction process
where tombstones are lost after compaction and series existence
checks are not correct. This commit also fixes some smaller flushing
issues within the series file that mainly related to testing.
2018-10-05 08:23:25 -06:00
Warren Harper 216feed8ed Fix linting errors in the errlist package
References #4098
2018-10-04 21:39:08 -04:00
Jonathan A. Sternberg 677552f093
Merge pull request #9806 from mschoenlaub/master
Print error message for unknown errors in client
2018-10-01 16:27:16 -05:00
Manuel Schoenlaub 15bd336efd
Print error message for unknown errors, e.g. server crashes without message 2018-10-01 16:25:37 -05:00
Adam 5bb62597c8
Backup continue on errors (#10307)
* mod backup to continue if a shard fails to backup
2018-09-26 14:44:14 -04:00
Stuart Carnie 62b9791da8 feat(flux): Add initial support for executing Flux queries 2018-09-17 22:38:27 -07:00
Stuart Carnie 59bd822af9 refactor(storage): Export subset of APIs to facilitate reuse
* the protocol service definition, ReadRequest and ReadResponse is
  reused across projects, rather than requiring redefinition.

* the ReadRequest protocol buffer definition removes the concept of a
  database and retention policy, replacing it with a field named
  ReadSource of type google.protobuf.Any. OSS requests will use the
  ReadSource message structure defined in local to this package, which
  defines fields to represent a Database and RetentionPolicy. Other
  implementations can provide their own data structure allowing the
  remainder of the ReadRequest to be reused.

* The RPC service and Store are expected to be redefined to handle their
  specific requirements for resolving a ReadSource

* ResultSet and GroupResultSet are interfaces representing non-grouping
  and grouping read behavior respectively. Calling NewResultSet or
  NewGroupResultSet will construct instances of these types

* The ResponseWriter type is exported to deal with serialization of
  the ResultSet and GroupResultSet types
2018-08-24 11:56:04 -07:00
Sven Mäder 1a138e7dcf Fix legacy restore bug #10072 2018-08-17 09:39:25 +02:00
Tim Brooks fee13d0150 Minor fix for legacy restore (#9978)
Restore would fail when file paths contained extra periods.
Taking the basename of the files fixes this.
2018-08-15 09:06:44 -04:00
Jonathan A. Sternberg beae42a090
Merge pull request #10151 from influxdata/js-480-config-flux-section
Modify the `ifql` section to `flux`
2018-08-08 11:26:33 -05:00
Jacob Marble 5c8f350dd8 influx_inspect: Make buildtsi code resusable 2018-08-07 11:33:21 -07:00
Jonathan A. Sternberg be83e81102 Modify the `ifql` section to `flux`
Mark the breaking changes in the changelog.
2018-08-02 15:50:23 -05:00
Jeff Wendling f21d1773af move tls config into pkg
this makes it so you don't have to depend on cmd/influxd/run in
order to share the code with the parsing and stuff.
2018-08-02 14:29:07 -06:00
Jeff Wendling 767b991089 implement using tls configuration 2018-08-02 14:29:07 -06:00
Jeff Wendling 903bd6c14a add tls configuration 2018-08-02 11:21:14 -06:00
Ben Johnson 99e2ad60a4
Merge pull request #10122 from influxdata/bj-tsi-roaring
Add roaring bitmaps to TSI index files.
2018-07-31 10:28:56 -06:00
Stuart Carnie 0a4d46aedb fix(influx_tools): Use Array cursor types 2018-07-26 11:37:06 -07:00
Ben Johnson fdfd038401
Add roaring bitmaps to TSI index files. 2018-07-24 17:59:23 +01:00
Edd Robinson 1b398cf7be Megacheck 2018-07-18 12:21:54 +01:00
Stuart Carnie 497fc42779 pr(tsdb): Feedback items from megacheck
* batch cursors and cursorIterator will be removed in a follow up
  PR using Arrow array data structures
2018-07-16 08:55:37 -07:00
Edd Robinson 22d2097e6d Fix vet issues 2018-07-12 11:47:49 +01:00
Edd Robinson ad388a8fd8 Address PR feedback 2018-07-09 11:51:48 +01:00
Edd Robinson 52e291eb62 uncomment profiling 2018-07-09 11:51:48 +01:00
Edd Robinson cd0294ea70 Enable concurrent index building 2018-07-09 11:51:48 +01:00
Edd Robinson ac0f125db9 Provide an API for re-using tags 2018-07-09 11:51:48 +01:00
Edd Robinson 9c2e7635d5 Avoid allocating a string for measurment names 2018-07-09 11:51:48 +01:00
Edd Robinson 3cf20823e9 Allow LogFile buffer size to be changed
When adding many series using offline tooling, it's likely that every
series involves an entry being appended to a LogFile. Typically an entry
is 11 or 12 bytes, but the default bufio.Writer buffer size is only 4K.

This means by default a write of 10,000 new series would involve ~30
buffer flushes.

This commit makes the buffer configurable, and sets the value in
`buildtsi` such that it reflects the number of series being written to
the LogFile.
2018-07-09 11:51:48 +01:00
Edd Robinson 4a90d142a7 Batch series being created 2018-07-09 11:51:15 +01:00
Edd Robinson 32ed165d9e Don't flush/sync when building index 2018-07-09 11:51:15 +01:00
Edd Robinson 2124b5e48e Logging format 2018-07-09 11:49:26 +01:00
Edd Robinson af88db51c1 Add profiling 2018-07-09 11:49:26 +01:00
Edd Robinson ef4e525546
Merge pull request #10032 from influxdata/er-reporttsi
Add new TSI index cardinality report to influx_inspect
2018-07-04 11:40:05 +01:00
Edd Robinson 08c3800a8a Address PR feedback 2018-07-04 10:57:40 +01:00
Edd Robinson cef4c399c5 Sort shard results 2018-07-03 14:20:10 +01:00
Edd Robinson e959fd49a9 Fix build 2018-07-03 14:15:32 +01:00
Edd Robinson 07ca0378bf Implementing -tag-keys is a TODO 2018-07-03 13:52:04 +01:00
Edd Robinson 89b1a49d38 Fine tune limit for when to use bitmap 2018-07-03 13:39:33 +01:00
Edd Robinson 5bce912a39 Fix panic when no series for measurement: 2018-07-03 12:39:20 +01:00
Edd Robinson 593d530525 Add total cardinality 2018-07-03 12:13:05 +01:00
Edd Robinson 33a60dfd85 Support for cardinality by measurement 2018-07-03 11:57:08 +01:00
Stuart Carnie e832514355 pr(influx_tools): PR feedback 2018-07-02 09:45:37 -07:00
Stuart Carnie 8c2ff02ede fix(influx-tools): Reimplement compact-shard using tsm1.Compactor
* utilizes `tsm1.Compactor#CompactFull` to fully compact the specified
  shard
* the WAL is unmodified
* added `-verbose` option to show progress as TSM files are opened
2018-07-02 09:45:37 -07:00
Stuart Carnie 0887b38a65 chore(influx_tools): Rename command influx-tools → influx_tools 2018-07-02 09:45:37 -07:00
Jonathan A. Sternberg 88b81941ac Modify the storage service to expose a grpc interface instead of yarpc 2018-06-28 14:03:09 -05:00
Edd Robinson 13fd17166b gofmt 2018-06-19 16:09:59 +01:00
Edd Robinson ab293e813d
Merge pull request #9856 from pliu/backup_restore_parallel_compression
Parallelize compression/decompression during backup and restore
2018-06-15 14:30:25 +01:00
Jacob Marble 0dc5393441 tsm/cache: Remove unused function parameter 2018-06-13 15:22:37 -07:00
Ben Johnson e918e2f011
Merge pull request #9969 from influxdata/bj-cli-retention-policy
Add retention policy flag to CLI queries.
2018-06-13 14:06:07 -06:00
Stuart Carnie 88cd9f3fcf pr(influx-tools): Improvements per PR review 2018-06-13 10:29:59 -07:00
Stuart Carnie 832863c099 feat(influx-tools): Add compact-shard command for offline compactions
`influx-tools compact-shard` allows a user to fully compact a shard
when the `influxd` process is offline.

Fixes #9958
2018-06-13 10:29:59 -07:00
Stuart Carnie 0f1917fc6b fix(influx-tools): Exporter disables monitor and compactions
This should not have caused correctness issues, but is an unintended
side effect that exporting data may cause compactions to run. It is
possible that a compaction would not run to completion, leaving .tmp
files around after an export.
2018-06-13 10:29:59 -07:00
Stuart Carnie 278ca32f1f refactor(influx-tools): Move shard writer to be usable by other packages
Default behavior has not changed, however, additional options
permit writing `.tsm.tmp` files and adjusting the starting generation
and sequence.
2018-06-13 10:29:59 -07:00
Ben Johnson dae59cce7a
Add retention policy flag to CLI queries. 2018-06-13 09:10:39 -06:00
Edd Robinson b314c316a9 Add regex support to storage service 2018-06-12 15:54:18 +01:00
Edd Robinson 524f400836 Make testing of handler easier 2018-06-12 15:54:18 +01:00
Paul Dix 4f7b93342c Update Prometheus read/write to use new storage query layer.
* Update Prometheus remote write to use metric name as measurement name and value as the field name.
* Update Prometheus remote read to use the storage.Read method to bypass the InfluxQL query engine.
2018-06-12 15:54:18 +01:00
Stuart Carnie d42abde836 refactor(services/storage): Enhanced group support for Read RPC 2018-05-30 11:32:20 -07:00
Jonathan A. Sternberg 4e1228fce3
Merge pull request #9855 from influxdata/js-megacheck-importer
Remove an unused variable caught by megacheck in the importer
2018-05-29 08:44:06 -05:00
Ben Johnson 8b44e3142c
Add optional pprof http endpoint immediately on startup.
This commit adds `debug-pprof-enabled` which will start the default
`net/http/pprof` endpoint and bind against `localhost:6060`. This
will help to debug startup performance issues.
2018-05-23 14:32:15 -06:00
Ben Johnson 1fc403337e
Add -series-file flag to dumptsi command help. 2018-05-22 10:36:00 -06:00
Jeff Wendling 6409b0a441 dumptsmwal: fix minor vet error 2018-05-18 18:21:19 -06:00
Jacob Marble 3f2ff742c0 Remove unused 'database' field 2018-05-18 09:22:43 -07:00
Jonathan A. Sternberg c36e75ad17 Remove an unused variable caught by megacheck in the importer 2018-05-16 13:22:15 -05:00
Peng Liu 2e3ef6c9d7 Parallel compression
Drop-in of pgzip for gzip
2018-05-16 11:19:57 -07:00
Ben Johnson 22ffb6acda
Add dumptsmwal command to influx_inspect. 2018-05-15 11:21:35 -06:00
Jacob Marble 3cfbc33c0e Implement SHOW STATS FOR 'indexes' 2018-05-10 11:33:52 -07:00
Jacob Marble 87d73d405c tsdb/SeriesFile: remove unused function param 2018-05-04 11:22:12 -07:00
Tanya Gordeeva b4417fc7fc influx-tools: export/import fixes
- Expose io for testing
- Initialize logging only when present
- Fix nil cases when replacing retention policies
- Use meta client when getting shard groups
- Disallow updating retention policies
- Delete shard files, not shard groups, when replacing shards
- Add duration and replication options for retention policy
2018-05-03 17:06:17 -07:00
Jeff Wendling cf81a3e66e
Merge pull request #9770 from influxdata/jmw-inspect-series-file
Add verify-seriesfile to influx_inspect
2018-05-02 11:27:53 -06:00
Ben Johnson 2e470974ec
Merge pull request #9793 from influxdata/bj-delete-nonprintable-unicode
Add key sanitization to deletetsm
2018-04-30 15:38:08 -06:00
Ben Johnson 4cb36d5301
Add key sanitization to deletetsm
This commit adds the `-sanitize` flag to `influx_inspect deletetsm`
which will delete all keys that contain invalid, non-printable, or
replacement character unicode.

Usage:

```sh
$ influx_inspect deletetsm -sanitize PATH
```
2018-04-30 13:06:33 -06:00
Ben Johnson 108fa09439
Rename corrupt tsm files on load. 2018-04-27 14:27:44 -06:00
Jeff Wendling 02b90d195e verify-seriesfile: update verbose logging 2018-04-26 12:54:32 -06:00
Jeff Wendling bc2801c3fc verify-seriesfile: some style and renaming fixes 2018-04-26 12:11:02 -06:00
Jeff Wendling c38108eb8a fix some megacheck errors 2018-04-25 18:14:25 -06:00
Jeff Wendling 388a664acc verify-seriesfile: verify partitions in parallel 2018-04-25 18:10:27 -06:00
Jeff Wendling 696ab40ddb verify-seriesfile: reduce compaction threshold in tests
helps it run faster, and hopefully not OOM in teeny environments.
2018-04-25 18:10:23 -06:00
Jeff Wendling adeec62c0d reorganize the verify commands into a folder 2018-04-25 18:10:22 -06:00
Jeff Wendling 3e7a01b1db refactor verify_seriesfile
- some style changes
- export and make usable the verify functions
- make smaller functions for verification
- change the flags to be more intuitive
2018-04-25 18:10:20 -06:00
Jeff Wendling 9f09a3c1c2 add tests for verify_seriesfile
does some basic sanity checks. it's hard to be more exhaustive without
either taking a crazy amount of time, or being non-deterministic,
but at least this makes sure we barf in some cases.
2018-04-25 18:10:19 -06:00
Jeff Wendling e771040a7d Add verify-seriesfile to influx_inspect
Fixes #9767
2018-04-25 18:10:17 -06:00
Tanya Gordeeva 0badc89b11 influx-tools/importer: Clean up shards with errors 2018-04-25 09:33:43 -07:00
Tanya Gordeeva 1ea9397353 influx-tools/importer: Binary format import command
Import command using the binary format reader to directly write TSM data,
optionally replacing existing retention policies and shards.
2018-04-25 09:33:43 -07:00
Tanya Gordeeva 15b46c8ebe influx-tools/importer: Binary format reader unit tests 2018-04-25 09:33:43 -07:00
Tanya Gordeeva 6f99a3cfad influx-tools/importer: Binary format reader
Binary format reader for output from `import-tools export -format binary`.
2018-04-25 09:33:43 -07:00
Adam b3cd949c3f
Update backup flags to have long/short versions (#9713)
Updated flags, help text, removed documentation for deprecated legacy options.  Updated documentation to describe the  syntax and options for the newer -portable format. Legacy support remains, but is only referenced in the online documentation.
2018-04-25 10:49:46 -04:00
Jonathan A. Sternberg dff34939f8
Merge pull request #9028 from cbushko/lint-the-c-dirs
Fix linting on cmd files
2018-04-23 10:41:05 -05:00
Ben Johnson 9a58835b82
Merge pull request #9743 from influxdata/bj-delete-tsm
Add 'influx_inspect deletetsm'
2018-04-20 07:41:25 -06:00
Stuart Carnie 14dcc5d6e7 PR feedback 2018-04-19 18:05:55 -07:00
Stuart Carnie 29ce031fc2 influx-tools/export: driver for reshaping and exporting data
The only file require in Enterprise is a reimplementation of main.go,
the server.Interface and server.MetaClient interfaces.
2018-04-19 18:05:55 -07:00
Stuart Carnie 9e79b5cbaf influx-tools/format: implementation of various series and value writers
A format.Writer is an abstraction for reading data from
storage.ResultSet and writing to various formats. Those included are

* binary: efficient binary format using protocol buffers. This is the
  expected format for the import tooling. The data is written in the
  desired shard group shape so that it can be read and streams to
  TSM files without further transformation.

* line: line protocol use for exporting field type conflicts or as an
  alternative, lossless export format

* text: two debugging modes for outputting series or series and values
  in a more efficient format that line protocol.

* discard: reads and discards the source data. This can be useful for
  benchmarking and profiling the read and decode performance.
2018-04-19 18:05:55 -07:00
Stuart Carnie 338d6b463d influx-tools/server: abstractions to simplify usage in Enterprise
This package is the only component that must be implemented to
use the influx-tools in the Enterprise edition.
2018-04-19 18:05:55 -07:00
Stuart Carnie a8f3c8ed5b import-tools: minimal storage API to read shard data efficiently
* this implementation produces a cursor per shard to permit the export
  tool to distinguish field type conflicts
2018-04-19 18:05:55 -07:00
Ben Johnson 8c9d179a94
Add 'influx_inspect deletetsm' 2018-04-19 10:36:08 -06:00
Adam a00e4dc70b
Changed file download retry rate to have exponential wait times (#9706)
* Changed file download retry rate to have exponential wait times

* Fixes from PR review
2018-04-12 15:21:02 -04:00
Ben Johnson fd491b28a6
Check for root user when running buildtsi.
This commit also adds the `max-log-file-size` flag.
2018-04-04 09:58:02 -06:00
Mark Rushakoff b3c2d9290f Log error encountered when reading WAL files
Inspired by #9657.
2018-03-30 09:40:58 -07:00
Ben Johnson eb6215acbf
Fix buildtsi partition key. 2018-03-29 14:27:28 -06:00
Adam ca9f2510b8
check for failure case where backup dir has no manifest files (#9634) 2018-03-27 12:05:29 -04:00
Stuart Carnie ee3e2ad67f rename Tenant -> OrgID 2018-03-23 12:26:55 -07:00
Stuart Carnie f69681c7c2 store command: add support for multi-tenant queries; fix validation 2018-03-23 12:26:55 -07:00
Stuart Carnie aa61359cc7 Storage RPC API improvements. See PR for details
* reduce # allocations (115M -> 22M)
* reduce size allocations (53GB -> 1.3GB)
* reduce RPC query time (45s -> 12.9s)
2018-03-21 13:46:09 -07:00
Mark Rushakoff fbddcf7cad Move ApplyEnvOverrides to toml package
This code has been duplicated to other projects and its implementations
have grown out of sync. Now the code can live as a package-level
function rather than a method coupled with particular structs.
2018-03-14 15:23:46 -07:00
Adam b213b31cd4
Bugfix for shard collisions resulting from attempted _internal import (#9569) 2018-03-14 11:51:57 -04:00
Jonathan A. Sternberg 9cafd4b1f5
Merge pull request #9429 from influxdata/js-9297-support-http-proxy-in-clients
Support proxy environment variables in the influx client
2018-03-12 11:40:09 -05:00
Jonathan A. Sternberg 5d8d460034 Support setting the log level through the environment variable 2018-03-12 11:10:32 -05:00
Jonathan A. Sternberg ed27a00255
Merge pull request #9524 from influxdata/js-remove-query-prefix
Rename some of the structs and interfaces in the query package
2018-03-07 18:00:37 -06:00
Stuart Carnie 044ca2ac89 ensure ENV overrides are applied when configuring logging
Additionally, the config file is only parsed once.
2018-03-03 07:38:15 -07:00
Jonathan A. Sternberg de4390ae83 Rename some of the structs and interfaces in the query package
Remove the `Query` prefix from some structs and interfaces. They were
there so when the query engine was in the same package as influxql,
these would be differentiated. Now that the package name is query, the
extra prefix seems redundant.
2018-03-02 09:44:12 -06:00
Ben Johnson b3fcc63a78
Add dumptsi path error handling. 2018-02-27 08:30:12 -07:00
Stuart Carnie d135aecf02 Generate trace logs for a number of significant influx operations
* tsdb Store.Open traces all events related to opening files
    * op.name : tsdb.open
* retention policy shard deletions
    * op.name : retention.delete_check
* all TSM compaction strategies
    * op.name : tsm1.compact_group
* series file compactions
    * op.name : series_partition.compaction
* continuous query execution (if logging enabled)
    * op.name : continuous_querier.execute
* TSI log file compaction
    * op_name: index.tsi.compact_log_file
* TSI level compaction
    * op.name: index.tsi.compact_to_level
2018-02-21 15:08:49 -07:00
Jonathan A. Sternberg 2bbd96768d Update logging calls to take advantage of structured logging
Includes a style guide that details the basics of how to log.
2018-02-20 10:04:19 -06:00
Stuart Carnie 1303030184 Suppress the InfluxDB banner if the log output is not a TTY 2018-02-14 15:23:58 -07:00
Jonathan A. Sternberg 2bb5b68833 Add an auto choice that will choose the most appropriate logger
This restricts the logging format options so console cannot be chosen.
This way, logs written to a non-TTY will never be the console format.
2018-02-14 11:56:29 -05:00
Jonathan A. Sternberg 2efc9ddbac Add an option to suppress the initial logo
For any systems that want to read the log file in the specific format,
the logo being printed on restart may not be good for those parsers
since the log parser would have to be aware of the logos existance or
capable of just ignoring lines it couldn't parse.

This gives an option to disable the printed logo if required.

Like other logging options, this will fail if the configuration file
itself is invalid.
2018-02-14 10:11:02 -05:00
Jonathan A. Sternberg ccf2e549b8 Add logging configuration to the main configuration file
Make logfmt the default log output format with json and a more user
friendly console into possible options.
2018-02-14 10:11:02 -05:00
Jonathan A. Sternberg c67a0548a0 Support proxy environment variables in the influx client
This also adds support for both the v1 and v2 APIs to set the Proxy
function on the underlying http.Transport.

The functionality for proxy environment variables is provided by the
[http.ProxyFromEnvironment](https://godoc.org/net/http#ProxyFromEnvironment).
2018-02-11 21:51:58 -06:00
Stuart Carnie 41dc96ca91 restore `MetaClient`, which is needed by store
* Switch from an anonymous type to avoid false positives with
  `megacheck`
2018-02-08 12:13:13 -07:00
Ben Johnson 0af6fb8e10
Merge pull request #9412 from influxdata/er-series-sketches
Sketches, Cont'd
2018-02-08 11:41:39 -07:00
kun 7bc52b7a81 Fix windows history file location 2018-02-09 00:20:52 +08:00
Edd Robinson 7a55735562
Add option to set LogFile compaction size 2018-02-07 14:52:13 -07:00
Adam 43fdb866dd
update to logs to print start/end values when relevant (#9388) 2018-02-02 13:32:43 -05:00
Adam f11d6fcd29
Removed tabs from help text (#9382) 2018-01-31 09:28:15 -05:00