Commit Graph

11046 Commits (ad2d33f8590d0aa3b0c694689aa25616bcadf3ff)

Author SHA1 Message Date
Jason Wilder 0401527093 Pre-allocate cache store and entries
These were not sized so they always had to be grown causing
garbage to be created.
2016-09-26 12:19:15 -06:00
Jason Wilder 730ceeea46 Re-used allocated byte slices during compactions 2016-09-26 12:19:15 -06:00
Jason Wilder 25508fa05f Add pool.Bytes for re-using byte slices
This adds a new pool type that allows byte slices
to be re-used across clients.  A sync.Pool can't be used in some
cases because the the slices not in use end up getting garbage
collected due to frequent GCs.
2016-09-26 12:19:15 -06:00
Jason Wilder ac9a7d520b Pre-allocated Points slice when parsing points
Over a longer period of writes, this allocation shows up quite
a bit in profiles since the slice needs to be resized frequently.

This scans the slice to count how many lines are going to be parsed
in order to pre-allocate the slice capacity.  It's slightly slower,
but creates less garbage in the long run.
2016-09-26 12:19:15 -06:00
Jason Wilder b3dd10ec20 Merge pull request #7312 from influxdata/jw-map-allocate
Reduce allocations in idsForExpr
2016-09-26 11:42:56 -06:00
Cory LaNou d533ebf184
update protobuf dependency 2016-09-26 12:34:25 -05:00
Cory LaNou 662b4b495c Merge pull request #7362 from influxdata/cjl-vet-fix
fix failing vet issue in test
2016-09-26 12:29:32 -05:00
Cory LaNou 4a2d23da4a
fix failing vet issue in test 2016-09-26 11:29:02 -05:00
Jason Wilder 8b354f7295 Update 1.0.1 changelog 2016-09-26 09:15:33 -06:00
Cory LaNou 33ce9fd11c Merge pull request #7327 from influxdata/cjl-export-wal
export wal files when exporting shard data
2016-09-26 09:40:24 -05:00
Jason Wilder 6671ef00f0 Reduce allocations in idsForExpr 2016-09-26 08:36:59 -06:00
Jason Wilder c2cfd63091 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-09-24 15:53:28 -06:00
Cory LaNou 4f952ad483 export wal files when exporting shard data 2016-09-23 15:09:17 -05:00
joelegasse c2315b208c Merge pull request #7305 from influxdata/jl-udp-split
UDP Client: Split large points
2016-09-23 15:30:21 -04:00
Joe LeGasse 2cbd411a9a client: updated README for UDP point splitting 2016-09-23 15:13:40 -04:00
Joe LeGasse 0d2b339d7c models: Added AppendString, PointSize, and Round to Point
This change also updates the UDP client to take advantage of these
improvements, as well as some code review changes.
2016-09-23 13:22:30 -04:00
Joe LeGasse ee6816756a udp client: large points will now be split, if possible
The v2 UDP client will attempt to split points that exceed the
configured payload size. It will only do this for points that have a
timestamp specified.
2016-09-23 13:22:30 -04:00
Vladimir Sagan 86f3300a46 refactor conditions of udp write func 2016-09-23 13:22:30 -04:00
Vladimir Sagan a3da819552 UDP client refactoring 2016-09-23 13:22:30 -04:00
Vladimir Sagan 0e33af50a9 UDP client: write metrics splitting metrics into chunks 2016-09-23 13:22:30 -04: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
rw b86885c5cd Remove a few short-lived string allocs.
(*tsdb.Shard).validateSeriesAndFields uses fewer string allocs in some
hot spots.
2016-09-22 17:55:57 -07:00
Jason Wilder 67cd17d866 Merge pull request #7349 from influxdata/jw-appveyor
Use go 1.6 on appveyor
2016-09-22 18:32:16 -06:00
Jason Wilder 28a807f47c Use go 1.6 on appveyor
Seems the default has switched to 1.7, but we still use go 1.6.
2016-09-22 18:20:49 -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
Jason Wilder a8ad18bb36 Merge pull request #7314 from influxdata/jw-delete-shard
Unload index before closing shard
2016-09-21 11:32:19 -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
Michael Nikitochkin 39b4bbefef
Updated appveyer to install golang 1.7 2016-09-19 13:58:21 +02:00
Michael Nikitochkin c70efc8261
Use go 1.7.1 for testing
Updated failed test that specific for duration format in string.
2016-09-19 12:28:58 +02:00
Cory LaNou 7e515cf5f7 Merge pull request #7317 from influxdata/cjl-7316-test
Add test to prevent future parsing regressions for time durations
2016-09-16 15:50:07 -05:00
Jason Wilder d06b28992d 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-16 12:01:50 -06:00
Jason Wilder cd7c39962d Merge pull request #7318 from influxdata/jw-sub-panic
Fix panic in subscriber.Statistics
2016-09-16 12:01:22 -06:00
Jason Wilder 14b0f6e496 Fix panic in subscriber.Statistics
The tags passed into Statistics() calls are not supposed to be modified.
The balanceWriter in subscribers tried to modify them triggering a panic
because they can be nil.
2016-09-16 11:49:15 -06:00
Cory LaNou acbf193640
add test to prevent future parsing regressions for time durations 2016-09-16 11:44:05 -05:00
Jason Wilder e2b38f6628 Merge pull request #7316 from influxdata/jw-duration-parse-panic
Fix panic when parsing ms durations
2016-09-16 09:00:08 -06:00
Jason Wilder a6d3e46893 Fix panic when parsing ms durations 2016-09-16 08:47:18 -06:00
Jack Zampolin 07071279dc Update README.md 2016-09-15 15:49:29 -07:00
Edd Robinson ec017863f7 Merge pull request #7311 from influxdata/er-perf
Pre-allocate map for performance
2016-09-15 20:01:03 +01:00
Edd Robinson ed41122ade Pre-allocate map for performance 2016-09-15 18:28:46 +01:00
Jonathan A. Sternberg 1a9de4c9b8 Merge pull request #7268 from influxdata/js-more-man-pages
More man pages for the other tools we package
2016-09-15 08:45:27 -05:00
Jonathan A. Sternberg edd32908fe More man pages for the other tools we package
Updating the package to compress the man pages fully and removes the
filename and timestamp from being stored in the man page. Lintian
complains that the packages aren't compressed using the best compression
method.

https://lintian.debian.org/tags/manpage-not-compressed.html
2016-09-15 08:35:05 -05:00
Jonathan A. Sternberg 635ce337f0 Merge pull request #7304 from influxdata/js-remove-substatement-method
Remove defunct `Substatement()` call
2016-09-15 08:32:40 -05:00
Jonathan A. Sternberg c11cbc5f05 Merge pull request #7309 from influxdata/js-go-vet-for-1.7
Update source files to pass vet checks for go 1.7
2016-09-15 08:32:30 -05:00
Jonathan A. Sternberg 477d6231db Update source files to pass vet checks for go 1.7
The vet checks for some files did not pass for go 1.7. As part of a
preliminary start to making go 1.7 work with this software, go vet
should pass.

Also updated the gogo/protobuf dependency which fixed the code generator
to work with go 1.7 too. Ran `go generate` on the entire repository to
ensure every file was up to date.
2016-09-14 15:01:22 -05:00
Cory LaNou a22c533cec Merge pull request #7296 from influxdata/cjl-2762
Return appropriate error if overflowing duration when parsing
2016-09-14 11:20:48 -05:00
Cory LaNou 71f0c7e1e9 return appropriate error if overflowing duration when parsing 2016-09-14 09:27:38 -05:00
Jonathan A. Sternberg 0974bfc1fb Merge pull request #7306 from influxdata/js-update-usage-client-dependency
Update usage-client dependency
2016-09-14 08:31:28 -05:00
Todd Persen 72b3ef32b9 Merge pull request #7307 from influxdata/tp-update-for-7286
Regenerate static assets and update CHANGELOG for PR #7286.
2016-09-14 00:20:50 -07:00