Commit Graph

9904 Commits (2f6340b49683c8415ed05e8ecfdc5e9e48a59049)

Author SHA1 Message Date
Jonathan A. Sternberg 278b0950a7 Perform lazy initialization of the heap for the MergeIterator
The MergeIterator creation function would call `peek()` on the iterator
to initialize the heap. Since this function can sometimes take a long
time (such as a huge aggregate query on a shard), the
`influxql.Select()` wouldn't return until the query had already been
completed.

The `influxql.Select()` call should be just the creation of the
iterators and shouldn't calculate anything. This is important for future
features like the point limiter that have to be initialized after the
`influxql.Select()` call.
2016-03-30 16:08:55 -04:00
Jonathan A. Sternberg 4c9e382e63 Allow a custom function to be used for monitoring a query 2016-03-30 16:08:55 -04:00
Jonathan A. Sternberg 3e93689020 Prototype for returning custom errors from the query manager 2016-03-30 16:08:55 -04:00
Ross McDonald 98789addc4 Modified tests to use '-n' over '! -z', and added quotes to pids to ensure strings. 2016-03-30 14:25:42 -05:00
Jonathan A. Sternberg 364dce36ab Support chunking in the middle of a series in the emitter
Limit the maximum size of the return value when chunking is not used to
prevent the server from going out of memory.

Fixes #6115.
2016-03-30 14:36:35 -04:00
joelegasse c190778997 Merge pull request #6159 from influxdata/jl-influx-tsm
Update to conversion tool to work in current versions
2016-03-30 13:52:05 -04:00
Joe LeGasse 59b9768655 updated CHANGELOG 2016-03-30 13:34:48 -04:00
Joe LeGasse f10c300765 Update to conversion tool to work in current versions
After adding type-switches to the tsm1 packages, the custom
implementation found in the conversion tool broke. This change uses
tsm1.NewValue() instead of a custom implementation.

This change also ensures that the tsm1.Value interface can only be
implemented internally to allow for the optimized type-switch based
encoding
2016-03-30 13:26:46 -04:00
Ross McDonald e52201ed34 Moved different init commands into their own functions. 2016-03-30 10:11:24 -05:00
Ross McDonald acc8f3e211 Merge pull request #6148 from influxdata/ross-build-updates
Build script updates
2016-03-29 17:17:46 -05:00
Ross McDonald e15f9e8bc7 Updated changelog. 2016-03-29 17:03:34 -05:00
Ross McDonald 135b0a3620 A few updates to 'build.py':
- Added ability to detach-sign packages with GPG
- Made script compatible with Python 3
- Added CLI flag for overwriting S3 packages
- Switched to logging module for output
2016-03-29 17:03:08 -05:00
Jason Wilder b3c1320d8c Merge pull request #5372 from influxdata/jw-shard-load
Faster shard loading
2016-03-29 13:11:46 -06:00
Jason Wilder 9f41acba2f Move shard mapping logic into index 2016-03-29 12:59:27 -06:00
Jason Wilder 60c3898577 Add godoc for KeyAt func 2016-03-29 12:59:26 -06:00
Jason Wilder 1b08e2dd55 Use walk func to load all tsm keys to index
Avoids allocating a big map or all keys.
2016-03-29 12:59:26 -06:00
Jason Wilder 96e076b6df Limit how many shards are loaded concurrently
Since loading a shard can allocate a lot of memory, running them all
at once could OOM the process.  This limits the number of shards
loaded to 4.  This will be changed to a config option provided the
approach helps.
2016-03-29 12:59:26 -06:00
Jason Wilder d4757ad040 Remove sync.Pool from wal UnmarshalBinary
When loading many shards concurrently they block trying to
acquire a write lock in the sync pool adding a new source of
contention.  Since this code flow always needs to allocate a
buffer it's not really buying us much.
2016-03-29 12:59:26 -06:00
Jason Wilder 3f0e871425 Reduce lock content when loading database index 2016-03-29 12:59:26 -06:00
Jason Wilder cc60b6c1d9 Update changelog 2016-03-29 12:59:26 -06:00
Jason Wilder 17c7f4a2a1 Avoid allocating a byte slice 2016-03-29 12:58:52 -06:00
Jason Wilder 03ced4cc90 Load shards concurrently 2016-03-29 12:58:52 -06:00
Jonathan A. Sternberg 6453dbc249 Implement simple moving average
The simple moving average will gradually emit points instead of waiting
until the end. This should apply to derivative and difference in the
future too.

Fixes #6112.
2016-03-29 14:36:43 -04:00
Jonathan A. Sternberg 819e7a819f Merge pull request #6142 from diamondo25/patch-2
Fix typo in url of issue referenced in CHANGELOG.md
2016-03-29 12:33:58 -04:00
Jonathan A. Sternberg 2e6007ec22 Merge pull request #6149 from influxdata/js-6140-query-manager-close
Have the server kill all queries on shutdown
2016-03-29 12:11:01 -04:00
Jonathan A. Sternberg c1643e69c1 Have the server kill all queries on shutdown
Related to #6140, but won't actually fix that problem. It will correctly
stop new queries from being started during shutdown and will send the
interrupt signal to queries during shutdown.

Since the interrupt signal is asynchronous, there isn't currently a way
to wait for the queries to complete themselves before shutting down the
engine.
2016-03-29 11:48:21 -04:00
Jonathan A. Sternberg c046c86e30 Merge pull request #6146 from influxdata/js-fix-difference-server-test
Fix the difference test
2016-03-29 10:14:24 -04:00
Jonathan A. Sternberg a86632912f Fix the difference test
A recent bugfix to CREATE RETENTION POLICY caused this to fail when
merged. This fixes the test.
2016-03-29 10:03:43 -04:00
Jonathan A. Sternberg 9ddc59aab5 Merge pull request #6105 from influxdata/js-1825-difference-function
Implement the difference function
2016-03-29 09:37:59 -04:00
Jonathan A. Sternberg a9720f926e Implement the difference function
The difference function is implemented very similar to how derivative is
implemented. It is an aggregate function that acts over the entire
aggregate. This function will also have the same problems that
derivative has with getting values from the previous interval or point.
This will be fixed separately as part of #5943.

Fixes #1825.
2016-03-29 09:27:12 -04:00
Jonathan A. Sternberg cb77caf3f2 Merge pull request #6127 from influxdata/js-fix-query-manager-timeout-test
Set the query manager timeout test to a higher value to avoid a false positive
2016-03-29 09:02:58 -04:00
Edd Robinson 6c9875b0a9 Merge pull request #6099 from influxdata/er-create-queries-fix
Correct idempotency for RPs and CQs
2016-03-29 11:57:51 +01:00
Edd Robinson dcb6e318e9 Creating CQ with identical query does not error
Partially fixes #6094.

Prior to this when passing the same query and CQ name in a CREATE
CONTINUOUS QUERY command an error would be returned. This means the
command was not behaving in a similar way to other commands.a

Now when running the command with the same CQ name and query string no
error will be returned. Note, this change does not parse the query, it
simply compares a normalised query string to the existing one on the CQ.
2016-03-29 11:35:04 +01:00
Edd Robinson adffbc2ba0 Fix tests to not clash with retention policy 2016-03-29 11:27:58 +01:00
Edd Robinson 828de361c6 Correct the CREATE RETENTION POLICY error behaviour
Partially addresses #6094.

Previously, when creating a retention policy only the name was
considered when deciding if the policy already existed. This meant that
adding a second policy with the same name but different duration or
replica factor returned the original policy and no error.

This commit fixes that and ensures that name, duration and replica
factor are all considered.
2016-03-29 11:07:26 +01:00
Erwin Oegema bda8e0267e Fix typo in url of issue referenced in CHANGELOG.md 2016-03-29 11:41:42 +02:00
Cory LaNou 98bcad1035 Merge pull request #6125 from influxdata/inconsistent-route-naming
Fix inconsistent route name
2016-03-28 15:57:03 -05:00
Sean Beckett 5a59b6483b Merge pull request #6120 from influxdata/update-pr-template
update PR template to avoid stale InfluxQL spec
2016-03-27 18:22:25 -07:00
Sean Beckett 23570af667 Update PULL_REQUEST_TEMPLATE.md 2016-03-25 15:46:00 -07:00
Jonathan A. Sternberg 2b83939aeb Set the query manager timeout test to a higher value to avoid a false positive 2016-03-25 16:45:38 -04:00
Ross McDonald df080dfb46 Merge pull request #6128 from influxdata/ross-build-updates
Fix naming for statically-compiled packages
2016-03-25 14:59:54 -05:00
Cory LaNou fa05ae038a fix inconsistent route names 2016-03-25 14:10:31 -05:00
Ross McDonald d6caaeea99 Fixes naming for statically-compiled packages. 2016-03-25 13:15:19 -05:00
Ross McDonald 97f55e6930 Merge pull request #6111 from influxdata/ross-build-updates
Build Updates
2016-03-24 17:24:56 -05:00
Ross McDonald eb172ba678 Three improvements to the `build.py` script:
- Improved handling of tar and zip package outputs
- Added support for statically-compiled binary outputs
- Modifyed the nightly version format to be more human-readable
2016-03-24 16:28:39 -05:00
Sean Beckett d2eb123c51 update PR template to avoid stale InfluxQL spec 2016-03-24 14:11:35 -07:00
Cory LaNou 19e2af2abf Merge pull request #6116 from influxdata/extend-http-routes
Extend http routes
2016-03-24 14:25:04 -05:00
Cory LaNou a8e7e681d2 Update CHANGELOG.md 2016-03-24 13:04:07 -05:00
Cory LaNou 2a7abbab1f more external routes magic 2016-03-24 13:03:11 -05:00
Cory LaNou b3b4a3764a allow routes to be added outside the httpd package 2016-03-24 13:03:11 -05:00