Commit Graph

9158 Commits (60df13fb566d07ff2cdd07aa23a4796a02b0df3c)

Author SHA1 Message Date
Paul Dix 6ccc416ef0 Update CHANGELOG.md 2015-12-31 09:13:56 -05:00
Paul Dix ee233c849a Merge pull request #5224 from influxdb/pd-backup-restore
Implement backup/restore for TSM.
2015-12-31 08:56:12 -05:00
Paul Dix 49d480cb0c Fix races in backup/restore 2015-12-31 08:42:01 -05:00
Paul Dix 5974d37649 Fix backup test to mock out compaction 2015-12-31 08:15:13 -05:00
Paul Dix 9cede5fb71 Address PR comments 2015-12-30 18:06:51 -05:00
Paul Dix 26e1c6464a Update backup to address PR comments 2015-12-30 18:06:51 -05:00
Paul Dix 59fbd371fc Implement backup/restore for TSM.
This changes backup and restore to work for TSM. It breaks it for b1 and bz1, but since those are getting removed it's ok.

The backup runs against any host that is specified and can backup either the metasstore, a database, specific retention policy, or a specific shard. It can also take incremental backups with the `since` flag, which will only backup TSM files that have been created since that timestamp.

The backup is safe to run online. However, for shards that are still hot for writes, they won't be able to create new TSM files while the backup for that single shard runs. If the backup isn't too large and the write throughput isn't too high this shouldn't be a problem since the writes will just go into the WAL cache.
2015-12-30 18:06:50 -05:00
Michael Desa bf1673f466 Merge pull request #5239 from influxdb/md-add-db
Add flag to specify db and clarify flag descriptions
2015-12-30 10:59:31 -08:00
Michael Desa 7c025d8497 Change db flag message 2015-12-29 13:12:05 -08:00
Philip O'Toole def0148584 Merge pull request #5226 from influxdb/b_converter
b*1 to TSM converter
2015-12-29 16:09:47 -05:00
Philip O'Toole eaec514ca0 b*1 to tsm1 shard converter 2015-12-29 15:31:07 -05:00
Jonathan A. Sternberg 6b546cb766 Remove calls of os.Exit from influx cli Run method and fix influx tests
One of the first unit tests in the cli tests called the Run method.
Since the Run method called os.Exit, it reported the unit tests as
succeeded. When parallel is set to 1, this skips _all_ unit tests after
the first one. When parallel is set to a higher value, unit tests run by
other processes still get run.

This changes the Run method to return an error (if one occurred). This
error can then be printed out and a bad exit status can be used to exit
the program from the main program instead.  That causes the unit tests
to run correctly regardless of how many parallel processes are running.

Also added an additional option to the CLI called `IgnoreSignals`. If
this is set to true, then signals are not registered with the process.
Setting signals doesn't really work in unit tests so it's good to ensure
they don't get set in the first place.

In addition to fixing the influx cli tests, this adds a mock client to
the cli test for Use. PR #5183 added a validation for `use` to only be
able to select public databases so `_internal` couldn't be chosen. To
implement this, the `SHOW DATABASES` command was used by the internal
client.

Some of the unit tests in `cli_test.go` don't set the client to
anything. `TestParseCommand_Use` previously didn't, but now it needs to
have a client in the unit test with an empty test server.
2015-12-29 14:58:54 -05:00
Jonathan A. Sternberg 2994eafc9b Fix scanLine to handle quotes properly
Quotes are handled differently in the line protocol depending on when
they are encountered. Quotes in field values matter, quotes anywhere
else don't.

`scanLine()` didn't understand this difference and treated all quotes
the same as ones for tag values. This resulted in `scanLine()` reading
the wrong amount of data sometimes when quotes were involved.

This fixes #5204.
2015-12-29 14:35:00 -05:00
Michael Desa ebd9b9978e Add flag to specify db and clarify flag descriptions 2015-12-29 11:31:28 -08:00
Jonathan A. Sternberg 0931e30dd2 Merge pull request #5194 from influxdb/js-5136-per-cq-options
Custom continuous query options per query rather than per node
2015-12-29 14:00:39 -05:00
Jonathan A. Sternberg 5d4ecf853c Add continuous query option for customizing resampling
This makes the following syntax possible:

    CREATE CONTINUOUS QUERY mycq ON mydb
        RESAMPLE EVERY 1m FOR 1h
        BEGIN
          SELECT mean(value) INTO cpu_mean FROM cpu GROUP BY time(5m)
        END

The RESAMPLE option customizes how often an interval will be sampled and
the duration. The interval is customized with EVERY. Any intervals
within the resampling duration on a multiple of the resample interval
will be updated with the new results from the query.

The duration is customized with FOR. This determines how long an
interval will participate in resampling.

Both options are optional. If RESAMPLE is in the syntax, at least one of
the two needs to be given. The default for both is the interval of the
continuous query.

The service also improves tracking of the last run time and the logic of
when a query for an interval should be run. When determining the oldest
interval to run for a query, the continuous query service determines
what would have been the optimal time to perform the next query based on
the last run time. It then uses this time to determine the oldest
interval that should be run using the resample duration and will
resample all intervals between this time and the current time as opposed
to potentially forgetting about the last run in an interval if the
continuous query service gets delayed for some reason.

This removes the previous config options for customizing continuous
queries since they are no longer relevant and adds a new option of
customizing the run interval. The run interval determines how often the
continuous query service polls for when it should execute a query. This
option defaults to 1s, but can be set to 1m if the least common factor
of all continuous queries' intervals is a higher value (like 1m).
2015-12-28 16:43:49 -05:00
Jason Wilder 86f433b2ab Merge pull request #5221 from influxdb/jw-compactions
Compaction concurrency
2015-12-27 14:54:20 -07:00
Jason Wilder b6da176a4b Fix direct index size not calculated 2015-12-23 18:01:11 -07:00
Jason Wilder f9ae8077da Allow compactions to run when files have tombstones 2015-12-23 18:01:11 -07:00
Jason Wilder a38c95ec85 Update compactions to run concurrently
This has a few changes in it (unfortuantely).  The main change is to run compactions
concurrently.  While implementing this, a few query and performance bugs showed up that
are also fixed by this commit.
2015-12-23 18:01:11 -07:00
Jason Wilder 48d4156eac Fix blocks not sorted correctly when chunking 2015-12-23 18:01:11 -07:00
Jason Wilder bb2562b2ab Return CompactionGroups from planning 2015-12-23 18:01:11 -07:00
Jason Wilder d0ec0a15e2 Fix wrong test data setup 2015-12-23 18:01:11 -07:00
Philip O'Toole cbbb01ce8e Merge pull request #5215 from influxdb/run_flags
Add profiling flags to help output
2015-12-23 15:49:17 -05:00
Philip O'Toole 767a7f5131 'broker' and 'data' are obsolete 2015-12-23 15:27:47 -05:00
Philip O'Toole 2a101dc379 Add profiling flags to help output 2015-12-23 15:22:50 -05:00
Philip O'Toole f3e97fdba5 Update with memory profiling instructions
[ci skip]
2015-12-23 15:19:57 -05:00
Philip O'Toole 3489c30b85 Merge pull request #5212 from sebito91/master
adding quit and ctrl-d support to influx cli
2015-12-23 14:24:13 -05:00
Sebastian Borza 26bc778b40 adding quit and Ctrl-D support to influx cli
update comment based on feedback
2015-12-23 11:54:41 -05:00
Jonathan A. Sternberg f00e85dd9f Merge pull request #5158 from influxdb/js-4076-line-protocol-parser-panics
Fix the line protocol scanner to read field keys with quotes correctly
2015-12-23 11:32:32 -05:00
Jonathan A. Sternberg 4813d82285 Fix the line protocol scanner to read field keys with quotes correctly
Quotes are not supposed to be significant in field keys, but are
significant in field values. The code as it currently was would
consider quotes in a key to be significant, but the later parser that
would unmarshal the fields from the byte string did not consider those
quotes to be significant. This meant that the following string:

    "a=1

The line protocol parser would see a mismatched quote instead of a valid
input to the line protocol. But more nefariously, the following string:

    "a=1"=2

The line protocol parser would ignore the first equals since it is
located in the quotation marks and think this was a valid input. It
would then pass it on to the field parser who would panic and die when
it tried to parse `1"=2` as a number.

Fixes #4076.
2015-12-23 09:14:28 -05:00
Philip O'Toole 3264ab02b4 Update CHANGELOG for PR5201
[ci skip]
2015-12-22 13:34:20 -05:00
Philip O'Toole a63d2623ff Merge pull request #5201 from sebito91/master
moving UDP payload size to config option, improve throughput performance
2015-12-22 13:32:18 -05:00
Sebastian Borza 8057d6f4ff adding language to config sample for udp-payload-size 2015-12-22 12:57:55 -05:00
Sebastian Borza d885f4156b removing golang reference 2015-12-22 12:54:43 -05:00
Philip O'Toole 70353a116c Update CHANGELOG for PR5183
[ci skip]
2015-12-22 07:09:54 -08:00
Philip O'Toole ff20ec6877 Merge pull request #5183 from pires/5174-fix_use_db
USE databasename will work only for existing databases.
2015-12-22 06:31:49 -08:00
Sebastian Borza 3bf5d9c969 moving UDP payload size to config option, improve throughput performance
moving UDP payload size to optional config choice to imporove throughput performance
2015-12-22 09:14:50 -05:00
Paulo Pires 3165c707fc Small improvements to USE command as per PR comments. 2015-12-22 08:55:32 +00:00
Philip O'Toole 308cab0a52 Update CHANGELOG for PR 5178
[ci skip]
2015-12-21 15:44:50 -08:00
Philip O'Toole cc28b9ab95 Merge pull request #5178 from pires/5176_show_field
SHOW FIELD shouldn't expect VALUES.
2015-12-21 15:44:01 -08:00
Nathaniel Cook e1dbf51ab4 Merge pull request #5146 from influxdb/nc-test-go1.6beta
make tip container usable for any git revision, add go1.6beta1 test
2015-12-21 09:49:53 -07:00
Paulo Pires 3f4949019d USE databasename will work only for existing databases. Fixes #5174 2015-12-21 09:34:40 +00:00
Paulo Pires be577e5a23 SHOW FIELD shouldn't expect VALUES. Fixes #5176 2015-12-20 09:52:09 +00:00
Mark Rushakoff 90f0a74349 Add missing QuoteIdent 2015-12-19 16:23:51 -08:00
Jason Wilder 146f36c3d5 Merge pull request #4981 from mvadu/mvadu-patch-4358
Fix #4358: TSM engine breaks windows compatibility
2015-12-18 15:17:17 -07:00
Ady 5c888b3673 Merge branch 'master' of https://github.com/influxdb/influxdb into mvadu-patch-4358
Trying to get to latest master from influxdb
2015-12-19 01:45:07 +05:30
Jason Wilder 51ad2e4c7b Merge pull request #5165 from influxdb/jw-windows
Fix rename temp file on windows
2015-12-18 12:45:23 -07:00
Jason Wilder 7e97b0eafd Fix rename temp file on windows 2015-12-18 11:57:37 -07:00
Jason Wilder 4b93f6c72d Merge pull request #5142 from influxdb/jw-tsm-migrate
Optimize TSM compaction
2015-12-18 10:17:34 -07:00