Commit Graph

13200 Commits (9f757290f84da3104103c00d986382151319b2a8)

Author SHA1 Message Date
Edd Robinson 9c488dccee Increase test timeout 2017-12-15 22:30:19 +00:00
Edd Robinson 2fd82645d8 Don't run test in race mode 2017-12-15 22:19:25 +00:00
Edd Robinson 42ba4831ba Update Digest test 2017-12-15 18:45:20 +00:00
Edd Robinson c476a0b4a1 Merge branch 'master' into er-tsi-index-part 2017-12-15 18:31:24 +00:00
Edd Robinson 73fcf894b6 Fix shard races when accessing index 2017-12-15 18:19:55 +00:00
Jonathan A. Sternberg b287c191f3
Merge pull request #9230 from influxdata/js-remove-extraneous-newlines-from-log
Remove extraneous newlines from the log
2017-12-15 10:34:58 -06:00
Edd Robinson d59f79338b Update series map threshold 2017-12-15 15:58:01 +00:00
Edd Robinson 3bfe525705 Add 32-bit support to series file
This commit ensures that the series file should work appropriately on
32-bit architecturs. It does this by reducing the maximum size of a
series file to 512MB on 32-bit systems, which should be fully
addressable.

It further updates tests so that the series file size can be reduced
further when running many tests in parallel on 32-bit architectures.
2017-12-15 15:47:26 +00:00
Jason Wilder 31f1ec2947
Merge pull request #9225 from influxdata/jw-snapshost-concurrency
Disk utilization fixes
2017-12-14 23:07:32 -07:00
Jason Wilder 2d85ff1d09 Adjust compaction planning
Increase level 1 min criteria, fix only fast compactions getting run,
and fix very large generations getting included in optimize plans.
2017-12-14 22:41:34 -07:00
Jason Wilder 749c9d2483 Rate limit disk IO when writing TSM files
This limits the disk IO for writing TSM files during compactions
and snapshots.  This helps reduce the spiky IO patterns on SSDs and
when compactions run very quickly.
2017-12-14 22:02:32 -07:00
Edd Robinson 7e662a1294 Fix some races 2017-12-15 01:18:36 +00:00
Edd Robinson 289d1f8d44 Allow iterators to return if shard is closing 2017-12-15 00:46:43 +00:00
Edd Robinson 59afd8cc90 Return to original DELETE/DROP SERIES semantics
Since possibly v0.9 DELETE SERIES has had the unwanted side effect of
removing series from the index when the last traces of series data are
removed from TSM. This occurred because the inmem index was rebuilt on
startup, and if there was no TSM data for a series then there could be
not series to add to the index.

This commit returns to the original (documented) DROP/DETETE SERIES
behaviour. As such, when issuing DROP SERIES all instances of matching
series will be removed from both the TSM engine and the index. When
issuing DELETE SERIES only TSM data will be removed.

It is up to the operator to remove series from the index.

NB, this commit does not address how to remove series data from the
series file when a shard rolls over.
2017-12-15 00:02:06 +00:00
Jonathan A. Sternberg 5fcf57a764 Remove extraneous newlines from the log
The newlines were accidentally kept when changing the logger. They are
not necessary and mess up the log output.
2017-12-14 16:41:42 -06:00
Edd Robinson 9e3b17fd09 Ensure deleted series are not returned via iterators 2017-12-14 21:29:35 +00:00
Ben Johnson bdb29c2897
Merge branch 'er-tsi-index-part' of https://github.com/influxdata/influxdb into er-tsi-index-part 2017-12-14 07:50:25 -07:00
Jason Wilder 6e3602c937 Revert "Increase cache-snapshot-memory-size default"
This reverts commit 171b427a1b.
2017-12-13 13:18:08 -07:00
Jason Wilder 7dc5327a0a Adjust snapshot concurrency by latency
This changes the approach to adjusting the amount of concurrency
used for snapshotting to be based on the snapshot latency vs
cardinality.  The cardinality approach could use too much concurrency
and increase the number of level 1 TSM files too quickly which incurs
more disk IO.

The latency model seems to adjust better to different workloads.
2017-12-13 13:17:56 -07:00
Edd Robinson 7080ffcaaa Fix MANIFEST test 2017-12-13 15:55:49 +00:00
David Norton 44a06e2aa6
Merge pull request #9213 from influxdata/dn-generate-digests
feat #9212: add ability to generate shard digests
2017-12-13 09:54:34 -05:00
David Norton 253ea7cc5e feat #9212: fix file in use bug on Windows 2017-12-13 09:29:07 -05:00
David Norton 0ae7fc821d feat #9212: update CHANGELOG.md 2017-12-13 09:29:07 -05:00
David Norton 98ebad951f feat #9212: move reader/writer tests over 2017-12-13 09:28:34 -05:00
David Norton 4e13248d85 feat #9212: add ability to generate shard digests 2017-12-13 09:28:34 -05:00
Edd Robinson f1bcc97e89 Fix auth tests 2017-12-12 21:25:35 +00:00
Edd Robinson 077cbba0e8 Fix index tests 2017-12-12 21:25:35 +00:00
Edd Robinson 0844f20dc4 Engine tests 2017-12-12 21:25:35 +00:00
Ben Johnson adf654cb2d
Test fixes. 2017-12-12 10:13:19 -07:00
Stuart Carnie cfc742885d
Merge pull request #9218 from influxdata/sgc-prometheus
add Prometheus metrics HTTP endpoint
2017-12-12 07:40:54 -07:00
Adam af2918a193
fix file_store path bug that affects windows users (#9219) 2017-12-11 17:31:33 -05:00
Stuart Carnie 44f0147f67 update CHANGELOG 2017-12-11 08:57:37 -07:00
Stuart Carnie 0d29dc1121 add Prometheus metrics HTTP endpoint 2017-12-11 08:51:40 -07:00
Ben Johnson 288c5217e8
Fix tsi1 tools. 2017-12-08 16:12:33 -07:00
Stuart Carnie 0be32d5fd9
Merge pull request #9208 from influxdata/sgc-client
Go 1.10 omits Content-Type header if server response has no body
2017-12-08 10:32:38 -07:00
Edd Robinson 7d13bf3262 merge master 2017-12-08 17:21:58 +00:00
Edd Robinson f6835632e7 Merge master into branch 2017-12-08 17:11:07 +00:00
Edd Robinson 3318c94a2f Clean up 🛁: 2017-12-08 11:38:53 +00:00
Stuart Carnie beef4e64d9 update CHANGELOG 2017-12-07 19:21:17 -07:00
Stuart Carnie 4f0c70591b Go 1.10 omits Content-Type if server response has no body
https://tip.golang.org/doc/go1.10#net/http

> The content-serving handlers also now omit the Content-Type header
when serving zero-length content.
2017-12-07 19:18:44 -07:00
Ben Johnson 0e0e7cfc08
Fix tests. 2017-12-07 09:59:39 -07:00
Adam a0b2195d6b
Pulled in backup-relevant code for review (#9193)
for issue #8879
2017-12-07 11:35:20 -05:00
Ben Johnson 37803d6803
Fixed 'tests' pkg. 2017-12-07 08:33:47 -07:00
Jason Wilder f250b64721
Merge pull request #9204 from influxdata/jw-tsm-sync
Fix higher disk utilization regression
2017-12-07 07:57:01 -07:00
Jason Wilder 0b929fe669 Update changelog 2017-12-06 13:45:43 -07:00
Jason Wilder 9f2a422039 Use disk based TSM index more selectively
The disk based temp index for writing a TSM file was used for
compactions other than snapshot compactions.  That meant it was
used even for smaller compactiont that would not use much memory.
An unintended side-effect of this is higher disk IO when copying
the index to the final file.

This switches when to use the index based on the estimated size of
the new index that will be written.  This isn't exact, but seems to
work kick in at higher cardinality and larger compactions when it
is necessary to avoid OOMs.
2017-12-06 13:45:43 -07:00
Jason Wilder 0a85ce2b73 Schedule compactions less aggressively
This runs the scheduler every 5s instead of every 1s as well as reduces
the scope of a level 1 plan.
2017-12-06 13:45:43 -07:00
Jason Wilder 56d8f05f12 Cap concurrent compactions when large number of cores exists
The default max-concurrent-compactions settings allows up to 50%
of cores to be used for compactions.  When the number of cores is
high (>8), this can lead to high disk utilization.  Capping at
4 and combined with high snapshot sizes seems to keep the compaction
backlog reasonable and not tax the disks as much.  Systems with lots
of IOPS, RAM and CPU cores may want to increase these.
2017-12-06 13:45:08 -07:00
Jason Wilder e584cb6842 Increase cache-snapshot-memory-size default
With the recent changes to compactions and snapshotting, the current
default can create lots of small level 1 TSM files.  This increases
the default in order to create larger level 1 files and less disk
utilization.
2017-12-06 09:39:03 -07:00
Jason Wilder 9c1d7d00a9 Switch O_SYNC to periodic fsync
O_SYNC was added with writing TSM files to fix an issue where the
final fsync at the end cause the process to stall.  This ends up
increase disk util to much so this change switches to use multiple
fsyncs while writing the TSM file instead of O_SYNC or one large
one at the end.
2017-12-06 09:35:24 -07:00