Commit Graph

7692 Commits (8d2ecb5df52228c61db01f011213014d9fe3e5af)

Author SHA1 Message Date
Jason Wilder 8d2ecb5df5 Remove unnecessary allocations from int64 decoder
The decoder was creating a large slice and decoding all values when
instead, it could decode one packed value as needed.
2015-09-29 09:39:00 -06:00
Jason Wilder 5a49e1a04b Add test assertions for time encoding type 2015-09-29 09:39:00 -06:00
Jason Wilder 071739b960 Fix run length encoding check
Values were run length encoded even when they should not have been
2015-09-29 09:39:00 -06:00
Jason Wilder 8ce3d7564d Reduce memory allocations
Converting between different encoders is wasting a lot of memory allocating different
typed slices.
2015-09-29 09:39:00 -06:00
Jason Wilder fce01a2466 Use zigzag encoding for timestamp deltas
Previously were using a frame of reference approach where we would
transform the (possibly negative) deltas into positive values from
the minimum.  That required an extra pass over the values as well
as a large slice allocation so we could encode the originals in uncompressed
form if they were too large.

This switches the encoding to use zigzag encoding for the deltas which
removes the extra slice allocation as well as the extra loops.

Improves encoding performane by ~4x.
2015-09-29 09:39:00 -06:00
Jason Wilder bf74c7cf86 Add int64 compression
This is using zig zag encoding to convert int64 to uint64s and then using simple8b
to compress them, falling back to uncompressed if the value exceeds 1 << 60.  A
patched encoding scheme would likely be better in general but this provides decent
compression for integers that are not at the ends of the int64 range.
2015-09-29 09:39:00 -06:00
Jason Wilder 19877a6d85 Add time and float compression
Time compression uses an adaptive approach using delta-encoding,
frame-of-reference, run length encoding as well as compressed integer
encoding.

Float compression uses an implementation of the Gorilla paper encoding
for timestamps based on XOR deltas and leading and trailing null suppression.
2015-09-29 09:39:00 -06:00
Jason Wilder 57b0a276da Allow influx_stress to use small data sizes
Prevents a panics when response size is less than 100.  Also allows
data to be posted when it is less than the batch size.
2015-09-29 09:39:00 -06:00
Jason Wilder 938bae97d4 Fix go vet errors 2015-09-29 09:39:00 -06:00
Jason Wilder 4fcc61c766 Ensure we have files when iterating in cursor
Prevents index out of bounds panic
2015-09-29 09:39:00 -06:00
Paul Dix ca2a13c76e Update stress to use second timestamps and less random floats. 2015-09-29 11:37:28 -04:00
Paul Dix 9031804dcc Update tests to use transactions. Add test for single series 10k points. 2015-09-29 11:27:02 -04:00
Paul Dix eb24c0daa6 Add recover to maintenance. Change snapshot writer to not use bolt on shard. 2015-09-29 10:56:11 -04:00
Paul Dix 9e630f8b8b Ensure data files can't be deleted while query is running.
Also ensure that queries don't try to use files that have been deleted.
2015-09-29 08:59:25 -04:00
Paul Dix 68d03e8ae0 Make compaction run at most at set duration. 2015-09-29 08:35:05 -04:00
Paul Dix 8444e0546d Add PerformMaintenance to store for flushes and compactions.
Also fixed shard to work again with b1 and bz1 engines.
2015-09-28 22:50:26 -04:00
Paul Dix f1ba618b23 Fix wal flushing, compacting, and write lock 2015-09-28 21:04:02 -04:00
Paul Dix 17ed6932ae Add support for multiple fields 2015-09-27 19:37:03 -04:00
Paul Dix a103432598 Handle hash collisions on keys 2015-09-27 16:44:57 -04:00
Paul Dix 4db2e5c2d4 Add compaction and time range based write locks. 2015-09-27 14:45:55 -04:00
Paul Dix 3aba709440 Add multicursor to combine wal and index 2015-09-26 10:47:36 -04:00
Paul Dix 33d28e18ec Ensure we don't have duplicate values. Fix panic in compaction. 2015-09-26 09:02:25 -04:00
Paul Dix 0aa684728c Make writes to historical areas possible 2015-09-25 17:11:27 -04:00
Paul Dix ed7055146a Update to work with new cursor definitiono and Point in models 2015-09-25 10:49:26 -04:00
Paul Dix ea85f8042d Update wal to only open new segment file on flush if its not an idle flush 2015-09-24 15:42:54 -07:00
Paul Dix 1b57b80fdb Add test for close and restart of engine and fix errors. 2015-09-24 15:42:54 -07:00
Paul Dix 38f9b29925 Update engine to put index at the end of data files 2015-09-24 15:42:54 -07:00
Paul Dix 750856836e Add memory settings and WAL backpressure 2015-09-24 15:42:54 -07:00
Paul Dix 95f9e1619e Update encoding test to work with new interface. 2015-09-24 15:38:33 -07:00
Paul Dix 318bc7281d Add full durability to WAL and flush on startup 2015-09-24 15:38:33 -07:00
Paul Dix f37df11339 WIP: more WAL work 2015-09-24 15:38:33 -07:00
Paul Dix 4e2dfd77c3 WIP: finish basics of PD1. IT WORKS! (kind of) 2015-09-24 15:38:07 -07:00
Paul Dix 041e7bead3 WIP: engine work 2015-09-24 15:36:21 -07:00
Paul Dix 8d16c96060 Add comment about encoding float 2015-09-24 15:36:21 -07:00
Paul Dix 3446c6024d WIP: skeleton for encoding for new engine 2015-09-24 15:36:21 -07:00
Philip O'Toole d02817ca6d Merge pull request #4166 from influxdb/correct_show_error
Update, and ease maintainabilty of, SHOW errors
2015-09-24 13:24:00 -07:00
Philip O'Toole f985ec9658 Update CHANGELOG 2015-09-24 13:01:31 -07:00
Philip O'Toole 8177b80929 Update, and ease maintainabilty of SHOW errors
Fixes issue #4164.
2015-09-24 13:01:31 -07:00
Philip O'Toole ec56da448e Merge pull request #4186 from nooproblem/master
Removing deprecated JSON Protocol from README.md
2015-09-24 07:54:03 -07:00
Cory LaNou 82c50bb746 Merge pull request #4202 from influxdb/issue-1577-rb
Allow fields to be selected with "selector" aggregate functions
2015-09-23 16:33:20 -05:00
Cory LaNou 842b36f30f godoc 2015-09-23 15:52:44 -05:00
Cory LaNou 715e3d8d3c add comment to clarify 2015-09-23 15:49:17 -05:00
Cory LaNou d6ee542083 SelectFilterFields -> SelectWhereFields 2015-09-23 15:47:12 -05:00
Cory LaNou b2474c9abf reduce arguments to MapTopBottom 2015-09-23 15:44:36 -05:00
Cory LaNou ab84d3eb00 break early when detecting only selector statements 2015-09-23 15:27:43 -05:00
Cory LaNou 104c049a53 fix typo 2015-09-23 15:26:13 -05:00
Cory LaNou 81ad1f87a4 refactor MapTopBottom signature 2015-09-23 10:53:21 -05:00
Cory LaNou 7c3a542e13 revert signatures for mean/sum map funcs 2015-09-23 10:32:00 -05:00
Philip O'Toole 2188a670fa Merge pull request #4208 from influxdb/show_diag_m
Support module-selection for SHOW DIAGNOSTICS
2015-09-23 08:25:19 -07:00
Cory LaNou 6b19e3dd9c minor refactorings 2015-09-23 09:47:24 -05:00