Commit Graph

12021 Commits (57eeae03fc5419c1249a4a4b890f2e9c9cb9a501)

Author SHA1 Message Date
Jason Wilder ce8d8e46cc Merge pull request #8143 from influxdata/jw-wal-sync-goroutine
Add WAL sync delay
2017-03-16 09:03:19 -06:00
Jason Wilder 27ae2929fc Add wal-fsync-delay to Diagnostics 2017-03-15 16:31:03 -06:00
Jason Wilder e9eb925170 Coalesce multiple WAL fsyncs
Fsyncs to the WAL can cause higher IO with lots of small writes or
slower disks.  This reworks the previous wal fsyncing to remove the
extra goroutine and remove the hard-coded 100ms delay.  Writes to
the wal still maintain the invariant that they do not return to the
caller until the write is fsync'd.

This also adds a new config options wal-fsync-delay (default 0s)
which can be increased if a delay is desired.  This is somewhat useful
for system with slower disks, but the current default works well as
is.
2017-03-15 16:31:03 -06:00
Jason Wilder 7bd1bd8ab3 Only calculate disk size if shard has changed
Calling DiskSize can be expensive with many shards.  Since the stats
collection runs this every 10s by default, it can be expensive and
wasteful to calculate the stats when nothing has changed. This avoids
re-calculating the shard size unless something has chagned.
2017-03-15 16:29:57 -06:00
Jonathan A. Sternberg a18a634fc3 Merge pull request #8062 from influxdata/js-8025-influxql-comments
Implement both single and multiline comments in influxql
2017-03-15 14:49:35 -05:00
Jonathan A. Sternberg 208d8507f1 Implement both single and multiline comments in influxql
A single line comment will read until the end of a line and is started
with `--` (just like SQL). A multiline comment is with `/* */`. You
cannot nest multiline comments.
2017-03-15 14:24:09 -05:00
Ben Johnson 1807772388
Fix tsi tests. 2017-03-15 11:23:58 -06:00
Mark Rushakoff 0c1fc741f0 Merge pull request #8142 from influxdata/mr-pr-template-config
Mention config settings in PR template
2017-03-15 10:01:50 -07:00
Ben Johnson ee2e046853
Merge remote-tracking branch 'upstream/tsi-log-compact' into tsi 2017-03-15 10:22:32 -06:00
Ben Johnson cf7ba96377
Merge branch 'tsi-log-compact' into tsi 2017-03-15 10:18:40 -06:00
Ben Johnson 358b1e0b05
Merge remote-tracking branch 'upstream/master' into tsi 2017-03-15 10:13:32 -06:00
Jason Wilder 65464ea0d1 Merge pull request #8131 from influxdata/jw-values-merge
Use standard merge algorithm when merging Values
2017-03-15 09:51:21 -06:00
Mark Rushakoff 3ba65a3650 Mention config settings in PR template 2017-03-15 08:44:48 -07:00
Jason Wilder a4cfeacedb Use standard merge algorithm for merging values
The previous version was very innefficient due to the benchmarks used
to optimize it having a bug.  This version always allocates a new
slice, but is O(n).
2017-03-15 08:59:41 -06:00
Edd Robinson 7d997d508a Fixes #8138 2017-03-15 12:50:22 +00:00
Edd Robinson ddcea1c322 WHY YOU SMITE ME BEN. B. JOHNSON? 2017-03-15 12:50:03 +00:00
Jason Wilder 713a1d2fab Merge pull request #8137 from influxdata/jw-merge-12
Merge 1.2.2 to master
2017-03-14 17:51:34 -06:00
Jason Wilder a16d86ebaa Merge pull request #8136 from influxdata/sort-changelog
Place CHANGELOG.md in descending sort order.
2017-03-14 15:27:46 -06:00
Jason Wilder e62c72d1f9 Merge branch '1.2' into jw-merge-12 2017-03-14 15:15:50 -06:00
Ryan Betts 46fa0c33a0 Place CHANGELOG.md in descending sort order. 2017-03-14 16:38:06 -04:00
Mark Rushakoff 108c7bc54d Merge pull request #7853 from influxdata/mr-diagnostics-config
Report subset of config values in SHOW DIAGNOSTICS
2017-03-14 13:22:16 -07:00
Jason Wilder 4d37c9dc9e Fix broken Values.Merge benchmark
Merge had the side effect of modifying the original values so
the results are wrong because they always hit the fast path
after the first run.
2017-03-14 14:20:24 -06:00
Jason Wilder 1bcf3ae74c Merge pull request #8133 from influxdata/jw-max-row-limit
Disable max-row-limit by default
2017-03-14 13:25:00 -06:00
Jason Wilder c9740f753b Disable max-row-limit by default
max-row-limit was set at 10000 since 1.0, but due to a bug it was
effectively 0 (disabled).  1.2 fixed this bug via #7368, but this
caused a breaking change w/ Grafana and any users upgrading from <1.2
who had not disabled the config manually.
2017-03-14 12:47:32 -06:00
Mark Rushakoff 32a961005d Update CHANGELOG 2017-03-14 11:34:49 -07:00
Mark Rushakoff 535cf597f1 Report subset of config values in SHOW DIAGNOSTICS
This includes hand-selected config settings that are safe to expose and
not expected to include any kind of secrets.

Fixes #7821
2017-03-14 11:34:19 -07:00
Edd Robinson fe5a5f38d7 Merge pull request #7859 from influxdata/er-cli-exit
Failed imports will now alter exit code
2017-03-14 18:23:57 +00:00
Jason Wilder 26e7680b64 Merge pull request #8116 from influxdata/jw-compact-types
Level compaction allocation improvements
2017-03-14 12:19:06 -06:00
Jason Wilder ca9c67a877 Generate encode*Values funcs 2017-03-14 11:54:53 -06:00
Edd Robinson bdc10a0e51 Failed imports will now alter exit code 2017-03-14 15:57:21 +00:00
Ben Johnson d23f2971c3
Refactor TagBlockEncoder. 2017-03-10 10:08:16 -07:00
Jason Wilder 2f7d4995b4 Use typed values to avoid allocations
This switches compactions to use type values (FloatValues) from the
generic Values type.  It avoids a bunch of allocations where each value
much be converted from a specific type to an interface{}.
2017-03-09 16:27:07 -07:00
Jason Wilder 78b7815c49 Add block type for BlockIterator 2017-03-09 09:16:59 -07:00
Jason Wilder 7d2eac173b Merge pull request #8111 from influxdata/jw-merge-12
Merge 1.2.1 to master
2017-03-08 15:38:46 -07:00
Jason Wilder b9e5375043 Merge branch '1.2' into jw-merge-12 2017-03-08 13:16:50 -07:00
Jason Wilder 3ec60fe264 Update v1.2.1 release date 2017-03-08 12:26:07 -07:00
Jason Wilder d00a6fa763 Merge pull request #8104 from influxdata/jw-field-conflict
Fix panic: interface conversion: tsm1.Value is tsm1.IntegerValue, not tsm1.FloatValue
2017-03-06 18:05:39 -07:00
Jonathan A. Sternberg 725800e594 Merge pull request #8100 from influxdata/js-set-raw-query-on-meta-rewrite
Include IsRawQuery in the rewritten statement for meta queries
2017-03-06 17:16:46 -06:00
Jason Wilder 549b7adf35 Merge pull request #8099 from influxdata/jw-merge12
Merge 1.2 branch to master
2017-03-06 16:14:19 -07:00
Jason Wilder 394bca3aad Validate field type when creating new fields 2017-03-06 16:13:17 -07:00
Jason Wilder 37187cbe6d Delete series under fields lock
Still seeing the panic that switching this logic around was supposed
to fix.  We now delete the bulk of data outside of the fields lock
and then again, under the write lock, to ensure that the field mapping
is accurate.  We don't do the full delete under the lock because it
can block writes and queries that require a read lock.
2017-03-06 14:19:55 -07:00
Jonathan A. Sternberg 83cf8893e1 Include IsRawQuery in the rewritten statement for meta queries 2017-03-06 14:46:33 -06:00
Jason Wilder 675d7c9d65 Merge branch '1.2' into jw-merge12 2017-03-06 11:09:05 -07:00
Jason Wilder 58dd3dbefb Merge pull request #8094 from influxdata/jw-8084
Fix points missing after compaction
2017-03-06 10:27:20 -07:00
Jason Wilder eab012ef61 Fix points missing after compaction
If blocks containing overlapping ranges of time where partially
recombined, it was possible for the some points to get dropped
during compactions.  This occurred because the window of time of
the points we need to merge did not account for the partial blocks
created from a prior merge.

Fixes #8084
2017-03-06 10:17:11 -07:00
Jason Wilder 80f9a29d7f Merge pull request #8095 from influxdata/jw-cache-race2
Fix race in WALEntry.Encode and Values.Deduplicate
2017-03-06 10:12:43 -07:00
Jason Wilder 3c70abf061 Delete series before remove from field index
There is a race where the field type can be deleted while a new type
is written and during a query.  When this happens, an iterator for
the new type is created but old data make still exist in the cache
for TSM files causing a panic.
2017-03-06 09:38:27 -07:00
Jason Wilder 29f8d8de76 Fix race in WALEntry.Encode and Value.Deduplicate
Under high query load, a race exists in the cache and the WAL.  Since
writes currently hit the cache first, they are availble for query before
they hit the WAL.  If the WAL is writing and accessign the Value slice
at the same time that a query is run that needs to dedup the same slice,
a race occurs.

To fix this, the cache now just copies the values instead of storing the
slice passed in.  Another way to fix this might be to have the writes go
to the wal before the cache.  I think the latter would be better, but it
introduces some larger write path issues that we'd need to also address.
e.g. if the cache was full, writes to the WAL would need to be rejected
to avoid filling the disk.

Copying the slice in the cache is simpler for now and does not appear to
dramatically affect performance.
2017-03-06 09:38:22 -07:00
Ben Johnson f632770cda Merge pull request #8092 from benbjohnson/field-type-conflict-write-check
Re-check field type under write lock.
2017-03-03 14:18:06 -07:00
Ben Johnson 4c202eea09
Re-check field type under write lock. 2017-03-03 09:47:43 -07:00