Refactored query engine to have different processing pipeline for raw queries. This enables queries that have a large offset to not keep everything in memory. It also makes it so that queries against raw data that have a limit will only p
rocess up to that limit and then bail out.
Raw data queries will only read up to a certain point in the map phase before yielding to the engine for further processing.
Fixes#2029 and fixes#2030
This sends data node urls via the broker heartbeat from each data
node. The urls are tracked on the broker to support simpler
cluster setup as well as distributed queries.
This commit adds incremental backup support. Snapshotting from the server
now creates a full backup if one does not exist and creates numbered
incremental backups after that.
For example, if you ran:
$ influxd backup /tmp/snapshot
Then you'll see a full snapshot in /tmp/snapshot. If you run the same
command again then an incremental snapshot will be created at
/tmp/snapshot.0. Running it again will create /tmp/snapshot.1.
This commit adds the "influxd restore" command to the CLI. This allows
a snapshot that has been produced by "influxd backup" to be restored
to a config location and the broker and raft directories will be
bootstrapped based on the state of the snapshot.
This commit adds the backup command to the influxd binary as well as
implements a SnapshotWriter in the influxdb package.
By default the snapshot handler binds to 127.0.0.1 so it cannot be
accessed outside of the local machine.
Change the regex delimiter from single quotes to back ticks (`) and make
the scanner recognize regex tokens.
Single quotes are used for string literals. Using a unique delimiter for
regular expression literals allows the scanner to recognize regular
expression tokens, which is inline with the way the rest of the
scanner / parser work.