Commit Graph

10837 Commits (1.0)

Author SHA1 Message Date
Jason Wilder ff30704705 Update 1.0.2 release date 2016-10-05 13:19:17 -06:00
Jason Wilder 7e2ae153a2 Merge pull request #7407 from influxdata/jw-7330
Fix subscriber service dropping writes under high write load
2016-10-04 20:01:04 -06:00
Jason Wilder ea21588b9e Fix subscriber service dropping writes under high write load
The subscriber write goroutine would drop points if the write load
was higher than it could process.  This could happen with a just
a few writers to the server.

Instead, process the channel with multiple writers to avoid dropping
writes so easily.  This also adds some config options to control how
large the channel buffer is as well as how many goroutines are started.

Fixes #7330
2016-10-04 14:47:36 -06:00
Jason Wilder 2c0d5b10aa Merge pull request #7399 from influxdata/jw-backport
Backport 1.0.2 Fixes
2016-10-03 09:58:05 -06:00
Jason Wilder ac4ae1a866 Update changelog for backported issue 2016-10-03 08:58:15 -06:00
Jason Wilder f251db013c Avoid stat syscall when planning compactions
When the planner runs, it needs to determine if any files have tombstones.
The code to determine if a tombstone existed involved stating the .tombstone
file.  Since the planner runs very frequently when there are many shards, this
causea a lot of system calls that are unnecessary.

Instead, cache the results of the stats calls and only refresh them when we
haven't checked at least once or we write new tombstone data.

This also caches the results of the TSMReader.Stats call to avoid creating
garbage.
2016-10-03 08:36:05 -06:00
Jason Wilder 4f37cc6572 Fix backport issues 2016-10-03 08:31:32 -06:00
Jason Wilder 2898f3dacf Fix decoding RLE integer blocks with negative deltas
Integer blocks that were run length encoded could produce the wrong
value when read back out because the deltas were not zig zag decoded
before scaling the final value.  If the deltas were negative, as would
be seen in a counter that decrements by a constant value, the results
would be random with som negative and positive values.

Fixes #7391
2016-10-03 08:25:28 -06:00
Edd Robinson 601d440670 Merge pull request #7370 from influxdata/er-1.0-sg-fix
Ensure correct shard groups created when RP has been altered
2016-10-03 12:28:49 +01:00
Edd Robinson fb5d3c5131 Ensure points map to correct shard groups 2016-09-30 13:58:56 +01:00
Joe LeGasse 9d26cc0732 Stablize the sorting of meta.ShardGroupInfos 2016-09-30 13:58:03 +01:00
Jonathan A. Sternberg ea8a57233f Merge pull request #7372 from influxdata/js-7150-alter-retention-policy-resets-sg-duration
Do not automatically reset the shard duration when using ALTER RETENTION POLICY
2016-09-28 15:45:35 -05:00
Jonathan A. Sternberg bb8c4efa95 Do not automatically reset the shard duration when using ALTER RETENTION POLICY 2016-09-28 12:26:03 -05:00
Jonathan A. Sternberg 6660bf5cba Removing bad changelog entries added in 39ade11 2016-09-27 15:18:57 -05:00
Jason Wilder 8b354f7295 Update 1.0.1 changelog 2016-09-26 09:15:33 -06:00
Jonathan A. Sternberg 927535e964 Merge pull request #7328 from influxdata/js-7315-prevent-manual-use-of-system-sources
Prevent manual use of system queries
2016-09-23 10:23:56 -05:00
Jonathan A. Sternberg dbc4a9150f Prevent manual use of system queries
Manual use of system queries could result in a user using the query
incorrect. Rather than check to make sure the query was used correctly,
we're just going to prevent users from using those sources so they can't
use them incorrectly.
2016-09-23 10:00:18 -05:00
Jason Wilder d476a1784f Merge pull request #7346 from influxdata/jw-1.0-backport
Backport unload index before closing shard
2016-09-23 08:58:57 -06:00
Jason Wilder 39ade11944 Unload index before closing shard
When deleting a shard, the shard is locked and then removed from the
index.  Removal from the index can be slow if there are a lot of
series.  During this time, the shard is still expected to exist by
the meta store and tsdb store so stats collections, queries and writes
could all be run on this shard while it's locked.  This can cause everything
to lock up until the unindexing completes and the shard can be unlocked.

Fixes #7226
2016-09-22 11:16:45 -06:00
Jonathan A. Sternberg f44dd4e8c6 Merge pull request #7293 from influxdata/js-7110-cannot-use-derivative-function
Skip past points at the same time in derivative call within a merged series
2016-09-19 09:29:21 -05:00
Jonathan A. Sternberg 0b94f5dc1a Skip past points at the same time in derivative call within a merged series
The derivative() call would panic if it received two points at the same
time because it tried to divide by zero. The derivative call now skips
past these points. To avoid skipping past these points, use `GROUP BY *`
so that each series is kept separated into their own series.

The difference() call has also been modified to skip past these points.
Even though difference doesn't divide by the time, difference is
supposed to perform the same as derivative, but without dividing by the
time.
2016-09-13 16:57:36 -05:00
Jonathan A. Sternberg 796f35bf01 Merge pull request #7280 from influxdata/js-6846-read-invalid-json-response-as-error
Read an invalid JSON response as an error in the influx client
2016-09-13 16:30:34 -05:00
Jonathan A. Sternberg 954445efd2 Read an invalid JSON response as an error in the influx client 2016-09-13 15:39:26 -05:00
Edd Robinson b2aee0a2d7 Merge pull request #7302 from influxdata/er-field-stat-1.0
Emit fieldsCreated stat in shard measurement
2016-09-13 16:59:08 +01:00
Edd Robinson 2a99ef751d Emit fieldsCreated stat in shard measurement 2016-09-13 16:41:11 +01:00
Jonathan A. Sternberg 56b1e56ee9 Merge pull request #7277 from influxdata/js-7272-include-memstats-in-debug-vars
Report cmdline and memstats in /debug/vars
2016-09-09 15:41:20 -05:00
Jonathan A. Sternberg ab4bca8495 Report cmdline and memstats in /debug/vars
When we refactored expvar, the cmdline and memstats sections were not
readded to the output. This adds it back if they can be found inside of
`expvar`.

It also stops trying to sort the output of the statistics so they get
returned faster. JSON doesn't need them to be sorted and it causes
enough latency problems that sorting them hurts performance.
2016-09-09 14:32:43 -05:00
Jonathan A. Sternberg 337dcb6bdb Merge pull request #7276 from influxdata/js-7270-unable-to-perform-time-math
Implement time math for lazy time literals
2016-09-09 14:31:56 -05:00
Jonathan A. Sternberg 4326da0820 Implement time math for lazy time literals
When attempting to reduce the WHERE clause, the time literals had not
been converted from string literals yet. This adds the functionality to
have it handle the same time math when the time literal is still a
string literal.
2016-09-09 13:34:56 -05:00
Jonathan A. Sternberg cbff7117cb Merge pull request #7274 from influxdata/js-backport-config-file-fix
Fixing typo within example configuration file
2016-09-09 10:33:59 -05:00
Andy Feller 28f702667e Fixing typo within example configuration file 2016-09-09 09:57:13 -05:00
Jason Wilder 37992377a5 Merge pull request #7265 from influxdata/jw-changelog
Update 1.0.0 release date
2016-09-07 12:07:56 -06:00
Jason Wilder df61117848 Update 1.0.0 release date 2016-09-07 11:54:20 -06:00
Jason Wilder 867eb28db7 Merge pull request #7258 from influxdata/jw-full-compactions
Fix continuous full compactions
2016-09-06 11:08:33 -06:00
Jason Wilder 1a35c0a3fc Fix neverending full compactions
The full compaction planner could return a plan that only included
one generation.  If this happened, a full compaction would run on that
generation producing just one generation again.  The planner would then
repeat the plan.

This could happen if there were two generations that were both over
the max TSM file size and the second one happened to be in level 3 or
lower.

When this situation occurs, one cpu is pegged running a full compaction
continuously and the disks become very busy basically rewriting the
same files over and over again.  This can eventually cause disk and CPU
saturation if it occurs with more than one shard.

Fixes #7074
2016-09-03 17:35:14 -06:00
Jason Wilder a6f6fda415 Fix DeleteSeries when multiple fields exists
The logic for determining whether a series key was already in the
the set of TSM series was too restrictive.  It allowed only the first
field of a series to be added leaving all the remaing fields.
2016-08-31 20:53:10 -06:00
Jonathan A. Sternberg 1187f53251 Merge pull request #7246 from influxdata/js-7243-optimize-queries-with-no-tag
Optimize queries that compare a tag value to an empty string
2016-08-31 14:34:12 -05:00
Jonathan A. Sternberg 5d899505dc Switch to `ioft/i386-ubuntu:14.04` image for 32bit testing
The `32bit/ubuntu:14.04` image seems to have been pulled by the owner. A
very recent commit to their repository recommends switching to
`ioft/i386-ubuntu:14.04` as the new 'official' image.
2016-08-31 14:03:44 -05:00
Jonathan A. Sternberg 964341eb20 Optimize queries that compare a tag value to an empty string
The behavior for querying tag values with an empty string was originally
fixed in #6283, but it also added a performance problem when the
cardinality of the tag was high. Since a call to `Union()` or `Reject()`
would happen for every series key and it would be called N times for N
cardinality, the comparisons against a blank string were unnecessarily
slow with large memory allocations.

This optimizes these queries so it doesn't use those methods anymore.
Those methods are still useful and used when combining AND and OR
clauses, but they aren't useful when finding the series ids for a single
clause. These methods were unnecessary anyway because the series ids for
the tags were unique anyway and didn't have to be merged as a set.
2016-08-31 14:03:23 -05:00
Jonathan A. Sternberg 05ddf85d24 Merge pull request #7245 from influxdata/js-backport-retention-policy-spec
Use defaults from `meta` package for `CREATE DATABASE`
2016-08-30 13:36:20 -05:00
Jonathan A. Sternberg 23f2d50ecb Use defaults from `meta` package for `CREATE DATABASE`
Instead of having the parser set the defaults, the command will set the
defaults so that the constants for that are actually used. This way we
can also identify which things the user provided and which ones we are
filling with default values.

This allows the meta client to be able to make smarter decisions when
determining if the user requested a conflict or if the requested
capabilities match with what is currently available. If you just say
`CREATE DATABASE WITH NAME myrp`, the user doesn't really care what the
duration of the retention policy is and just wants to use the default.
Now, we can use that information to determine if an existing retention
policy would conflict with what the user requested rather than returning
an error if a default value ever gets changed since the meta client
command can communicate intent more easily.
2016-08-30 13:23:49 -05:00
Jonathan A. Sternberg 3a349fd8ae Merge pull request #7241 from influxdata/js-7240-line-protocol-skip-blank-line
Allow blank lines in the line protocol input
2016-08-30 12:36:21 -05:00
Jonathan A. Sternberg 0d63889847 Allow blank lines in the line protocol input 2016-08-30 09:25:55 -05:00
Jason Wilder fa641077ad Merge pull request #7239 from influxdata/jw-changelog
Fixup changelog
2016-08-29 15:29:13 -06:00
Jason Wilder 2d16f8b8d1 Fixup changelog 2016-08-29 15:16:45 -06:00
Nathaniel Cook 888dc8cbd2 Merge pull request #7234 from influxdata/nc-influxql-readme
Update Influxql Readme
2016-08-29 13:09:34 -06:00
Jonathan A. Sternberg f67558c2a7 Merge pull request #7236 from influxdata/js-7220-revert-limit-shard-concurrency
Revert "limit shard concurrency"
2016-08-29 13:41:46 -05:00
Nathaniel Cook 3ab4e9fa1d update InfluxQL readme to reflect current code 2016-08-29 12:33:55 -06:00
Jonathan A. Sternberg c05c7f6360 Revert "limit shard concurrency"
This reverts commit 6c7d56d4bc.
2016-08-29 12:39:52 -05:00
Jason Wilder 3d411371f2 Merge pull request #7233 from influxdata/jw-stats2
Write path stats
2016-08-29 10:15:23 -06:00