Commit Graph

12471 Commits (d474a0ed9cdc569c30bd7398240cb0c3de11d9e2)

Author SHA1 Message Date
Jonathan A. Sternberg d474a0ed9c Handle UnsignedLiteral in the Reduce operations 2017-09-27 15:10:30 -05:00
Jonathan A. Sternberg f0fb0174b6 Implement uint64 logic into eval
Any operation between an int64 and uint64 results in the type becoming a
uint64. This is because the most common will usually be an unsigned
cursor being modified by an int literal. Even in cases where we were to
add an unsigned literal to an integer iterator, that would just result
in it being recast back and overflow.
2017-09-27 15:10:16 -05:00
Jonathan A. Sternberg 963cbfd275 Update eval type for unsigned 2017-09-27 11:31:52 -05:00
Jason Wilder 7fed382dbf Merge pull request #8872 from influxdata/jw-mmap
Fix long process stalls
2017-09-25 14:49:35 -06:00
Jonathan A. Sternberg 4e6075e819 Merge pull request #8873 from influxdata/js-emitter-unsigned-type
Support the unsigned type in query.Emitter
2017-09-25 15:45:28 -05:00
Jonathan A. Sternberg 1d833cd920 Support the unsigned type in query.Emitter 2017-09-25 15:08:18 -05:00
Jason Wilder 122a74c692 Use synchronous IO for wal and tsm writing
The fysncs due to large writes when writing to TSM files and the
WAL can eventually cause large pauses.  Since we already buffer
writes, using synchronous IO reduces fsync latency by ensuring
the individiual writes hit disk.  This spreads out the latecncy
across multiple writes better.
2017-09-25 12:44:57 -06:00
Edd Robinson 660c2f8ae2 Merge pull request #8847 from influxdata/er-8842-engine-races
Fix various engine races
2017-09-25 18:34:29 +01:00
Jonathan A. Sternberg 311f1fa619 Merge pull request #8864 from influxdata/js-8848-subquery-math-on-greater-than-two-fields
Prevent deadlock when doing math on the result of a subquery
2017-09-25 11:58:02 -05:00
Jonathan A. Sternberg 612ed90b53 Merge pull request #8870 from nwante/patch-1
simple typo fix
2017-09-25 11:49:10 -05:00
Edd Robinson 2def219f09 Refactor Shard to further protect Engine 2017-09-25 17:43:30 +01:00
Edd Robinson 4a67f92acc Prevent store from directly accessing Shard's engine 2017-09-25 17:43:01 +01:00
Edd Robinson 8e9cabbb9c Fix race in TagValues when reaching into engine 2017-09-25 17:43:01 +01:00
Edd Robinson 7739ff749a Ensure engine protected by shard mutex 2017-09-25 17:42:30 +01:00
Edd Robinson 2c43654552 Add some tests for concurrent server access 2017-09-25 17:42:30 +01:00
Jason Wilder 5774b44a4c Remove MADV_RANDOM
This was inadvertently added when merging the solaris and unix
mmap files.  This causes large delays due to major page faults.
2017-09-25 10:25:06 -06:00
Edd Robinson 58b674d16e Merge pull request #8857 from influxdata/er-bloom
Improve performance of TSI Bloom Filter
2017-09-25 16:50:09 +01:00
nwante e995bba24e simple typo fix
just a simple wording fix when I was reading the docs.
2017-09-25 08:16:57 -04:00
Adam e442bd87ea Master 1657 (#8865)
Bugfix, was overwriting non-static package with static package
2017-09-22 16:59:54 -04:00
Edd Robinson dbbb1090da Merge pull request #8863 from influxdata/er-appveyor
Adjust AppVeyor CI options
2017-09-22 21:41:18 +01:00
Jonathan A. Sternberg bcf2e8fca5 Prevent deadlock when doing math on the result of a subquery
The `fill(none)` attribute got set on subqueries, but that can cause an
issue with certain subqueries just like it caused a deadlock on outer
queries.
2017-09-22 14:45:53 -05:00
Edd Robinson 9f3dcca512 Adjust AppVeyor CI options
The -race flag makes the tests timeout on the Windows VMs so we're
removing it. Race enabled tests will still happen for linux builds.

Also increases the timeout on the tests.
2017-09-22 18:30:38 +01:00
Edd Robinson ea104596f0 Implement TSI index versioning
This commit adds a basic TSI versioning scheme, by adding a Version field
to an index's MANIFEST file.

Existing TSI indexes will not have this field present in their MANIFEST
files, and thus will be deemed incomatible with the current version.

Users with existing TSI indexes will be able to remove them, and convert the
resulting inmem indexes to the current version of a TSI index using the
influx_inspect tooling.
2017-09-22 17:59:39 +01:00
Edd Robinson 1028818ba6 Perf boost with some bit twiddling 2017-09-22 17:59:39 +01:00
Edd Robinson 5b7fc517fa Improve performance of TSI bloom filter
This commit replaces the previous hashing algorithm used by the pkg.Filter with
one based on xxhash. Further, taking from the hashing literature, we can
represent k hashes with only two hash function, where previously Filter was using
four.

Further, unlike `murmur3`, `xxhash` is allocation-free, so allocations have
dramatically reduced when inserting and checking for hashes.
2017-09-22 17:59:39 +01:00
Edd Robinson fe960b0f3a Add benchmarks for bloom filter 2017-09-22 17:59:32 +01:00
Jason Wilder 1e345aa7a1 Merge pull request #8856 from influxdata/jw-cache
Snapshot compaction improvements
2017-09-22 10:45:54 -06:00
Edd Robinson ccb6f7451f Ensure importer emits errors to stderr (#8833) 2017-09-22 17:17:20 +01:00
Edd Robinson e0caa2e0fd Merge pull request #8696 from influxdata/er-8678-tsi1-where
Allow tag filtering when using DELETE with tsi1
2017-09-22 17:16:09 +01:00
Edd Robinson 44691847e9 Merge branch 'master' into er-8678-tsi1-where 2017-09-22 16:54:49 +01:00
Adam 80aa328be6 small bugfix in filename check for 'static' keywork (#8861) 2017-09-22 10:33:12 -04:00
Jason Wilder 94aba64b88 Re-use index entries slice when writing TSM index 2017-09-21 12:48:16 -06:00
Jason Wilder db204f3eb7 Default concurrent compactions to 50% of available cores 2017-09-21 12:48:11 -06:00
Ryan Betts 5eb79f438e Merge pull request #8852 from influxdata/rb-8816-glyphicons
Remove unused glyphicons package from licenses file.
2017-09-21 12:19:36 -04:00
Adam fba7c9fc5e Updated packaging script to better handle static packaging (#8859) 2017-09-20 14:04:01 -04:00
Jason Wilder deef0c5649 Fix 32bit alignment 2017-09-20 10:00:20 -06:00
Jason Wilder 61ca1243c7 Increase index disk writer buffer 2017-09-20 09:05:30 -06:00
Jason Wilder 796de3dcea Reduce encoder pool checkout contention
With higher cardinalities, the encoder pools where become a bottleneck.
This changes the snapshot compactions ot checkout one encoder of each
type and re-use it while writing the snapshots as opposed to repeatedly
checking it out and in.
2017-09-19 15:27:26 -06:00
Jason Wilder 391a6288c6 Write parallel snapshot for higher cardinalities 2017-09-19 15:27:26 -06:00
Jason Wilder 0d52b060df Skip onFileStoreReplace with tsi 2017-09-19 15:27:25 -06:00
Jason Wilder 4fe81aeee6 Remove manual Gosched from compactions
At higher cardinalities, this dramatically slows down compaction throughput.
2017-09-19 15:27:25 -06:00
Jason Wilder 31e785d676 Don't deduplicate a single value 2017-09-19 15:27:25 -06:00
Jason Wilder 2ca9ccee1f Reset snapshot cache outside of write lock 2017-09-19 15:27:25 -06:00
Jason Wilder ddeba2c86b Split large snapshots and write concurrently 2017-09-19 15:27:25 -06:00
Jason Wilder 9ee305f6f5 Periodically re-allocate cache store
This perioically re-allocates the cache store to avoid memory
fragmentation and gradual slow down of the store after repeated
deletes and inserts into the map.
2017-09-19 15:27:25 -06:00
Jason Wilder 2885b9b310 Remove entrySizeHints map
There is a lot of overhead for calculating the hints for larger
cardinalities.  This slows down resetting the partitions in the ring.
2017-09-19 15:27:25 -06:00
Jason Wilder 4124a8ed97 Simplify cache ring
The continuum slice is not needed since the number of partitions
doesn't change.  This removes the slice to make the mapping simpler.
2017-09-19 15:27:25 -06:00
Stuart Carnie 65bcddf6c0 Merge pull request #8855 from influxdata/sgc-fix-findrange
fix FindValues panic for empty array
2017-09-19 14:26:45 -07:00
Stuart Carnie ed7bc9d825 fix FindValues panic for empty array 2017-09-19 14:23:32 -07:00
Stuart Carnie cf0a1d9d99 Merge pull request #8853 from influxdata/sgc-readentries-perf
Reduce allocations, improve readEntries performance by simplifying loop
2017-09-19 13:28:43 -07:00