Jason Wilder
bc7e1f6fd6
Fix panic when adding new fields
...
Fixes #2869
When adding a new field to an existing measurment, Shard.validateSeriesAndFields
would also encode the fields as a side-effect. In the case of a new field
that needed to be created, the encoding would fail because the field type
had not been created for the measurement yet. The fields are re-encoded
after validateSeriesAndFields returns and after the field encoding have been
setup properly so this additional encoding during
validation isn't necessary.
2015-06-10 10:30:14 -06:00
Philip O'Toole
98d315b8d8
Ensure tags are always marshalled the same way
...
This added check ensures it's always alphabetically ordered when
marshalled.
2015-06-09 17:10:46 -07:00
Philip O'Toole
8a5b337ae5
There is no more metastore, so correct comment
2015-06-09 14:57:19 -07:00
Jason Wilder
3e969166c9
Fix parsing commas in string field values
...
Fixes a panic on writes because the field value was not parse correctly.
panic: unsupported value type during encode fields: <nil>
goroutine 117 [running]:
github.com/influxdb/influxdb/tsdb.(*FieldCodec).EncodeFields(0xc2081c4020, 0xc2081dc180, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/jason/go/src/github.com/influxdb/influxdb/tsdb/shard.go:573 +0x8e3
2015-06-09 15:53:21 -06:00
Philip O'Toole
bc68afbe85
Fix minor spelling mistake
2015-06-09 14:35:38 -07:00
Philip O'Toole
85fd3d0292
Series was not already dropped, return false
2015-06-09 14:25:20 -07:00
Cory LaNou
a43054adce
add test for querying across shards and fields
2015-06-09 12:51:59 -05:00
David Norton
fc0bbaf0d1
fix #2814 : remove locking cruft from batcher
2015-06-09 00:34:46 -04:00
David Norton
3b15a49f7c
fix #2814 : revert making batcher channels buffered
2015-06-09 00:34:46 -04:00
David Norton
d5f52333a1
fix #2814 : hook collectd service back up
2015-06-09 00:34:46 -04:00
Paul Dix
8f712eaf85
Ignore shards that don't have the selected measurement in them.
...
Fixes #2815 and fixes #2818 .
2015-06-08 17:14:42 +02:00
Paul Dix
f39cddebf6
Fix locking on write path for getting measurement field encoding.
2015-06-07 11:09:47 +02:00
Jason Wilder
044e5b71f5
Remote temp dirs in store_test
2015-06-05 22:16:51 -06:00
Ben Johnson
b925e1c1af
Multi-node clustering.
...
This commit adds the ability to cluster multiple nodes together to share
the same metadata through raft consensus.
2015-06-05 14:41:19 -06:00
Todd Persen
0ee71b9755
Merge pull request #2743 from influxdb/tsdb-benchmarks
...
add shard & index benchmarks
2015-06-05 13:15:38 -07:00
Philip O'Toole
ca9f231fa1
Merge pull request #2776 from influxdb/enforce_retention_2_phase
...
Enforce retention policies
2015-06-05 11:15:21 -07:00
Paul Dix
4ba7c5d1c1
Merge pull request #2787 from influxdb/pd-drop-database
...
Wire up DROP DATABASE query
2015-06-05 20:09:06 +02:00
Paul Dix
61ac4aad80
Fix spelling in test
2015-06-05 20:07:52 +02:00
Paul Dix
885e484746
Fix comment typo
2015-06-05 12:47:53 -04:00
Paul Dix
70e10b136e
Wire up DROP DATABASE query.
2015-06-05 12:31:04 -04:00
Philip O'Toole
81ec7353ce
TSDB store can return all known Shard IDs
2015-06-04 17:02:22 -07:00
Paul Dix
55e0de30bd
Merge pull request #2773 from influxdb/pd-locking
...
Ensure proper locking of index structures on writes and queries.
2015-06-04 19:50:49 -04:00
Paul Dix
9bf09ee026
Correct comments in tsdb/meta
2015-06-04 16:08:12 -04:00
Philip O'Toole
c36f5f3f5f
Merge pull request #2771 from influxdb/enforce_retention_2_phase
...
Support deleting shards from TSDB store
2015-06-04 12:32:39 -07:00
Philip O'Toole
5ea2042356
Add DeleteShard to TSDB store
2015-06-04 12:22:38 -07:00
Paul Dix
408bc3f81e
Ensure proper locking of index structures on writes and queries.
2015-06-04 14:50:32 -04:00
Cory LaNou
bafdb7f7cb
explicitly parse time if needed
2015-06-04 12:15:18 -06:00
Cory LaNou
780fdedbd4
remove spew
2015-06-04 11:29:18 -06:00
Cory LaNou
47d605b69a
make line protocol round or parse precision as expected
2015-06-04 11:22:53 -06:00
Cory LaNou
3b9738c87a
fixing more error message regressions
2015-06-03 15:36:18 -06:00
Cory LaNou
3e7b458eae
fix regression in distinct on tags error
2015-06-03 15:28:45 -06:00
Paul Dix
99446786f9
Merge pull request #2752 from influxdb/pd-drop-measurement
...
Wire up DROP MEASUREMENT
2015-06-03 14:02:37 -04:00
Cory LaNou
f5d59eca3d
Merge pull request #2756 from influxdb/integration-tests
...
And even more Integration tests
2015-06-03 11:56:36 -06:00
Cory LaNou
be91c40b9a
fix data race in WriteToShard
2015-06-03 11:46:18 -06:00
Paul Dix
a7685767f8
Update comment
2015-06-03 13:26:49 -04:00
Paul Dix
73a6c7e424
Merge pull request #2745 from influxdb/pd-shard-metadata-to-protobuf
...
Update metadata storage in the shard to use protobuf for serialization.
2015-06-03 11:33:25 -04:00
Paul Dix
9c4da3002c
Wire up DROP MEASUREMENT
...
* Add deleteMeasurement to store and shard
* Add DropMeasurement to DatabaseIndex
* Update ErrMeasurementNotFound and ErrDatabaseNotFound to not include the first line of the stack trace.
2015-06-03 11:32:50 -04:00
David Norton
938ad2ef85
add Store Open benchmark test
2015-06-03 10:09:50 -04:00
Paul Dix
808e50f1cb
Add protbuf definitions and code
2015-06-03 09:16:38 -04:00
Paul Dix
6f76a4774b
Update UnmarshalBinary comment to be correct
2015-06-03 07:36:39 -04:00
Paul Dix
2d9c63f3bd
Update metadata storage in the shard to use protobuf for serialization.
2015-06-02 19:08:48 -04:00
David Norton
31bb8e70a9
don't build index before benchmarking WritePoints
2015-06-02 17:17:31 -04:00
David Norton
97c84a6d4f
add benchmark tests for shard WritePoints
2015-06-02 17:00:25 -04:00
David Norton
67464238ed
add benchmarks for building in-mem series index
2015-06-02 17:00:25 -04:00
Cory LaNou
900903ee69
fix select tags
2015-06-02 14:48:33 -06:00
Paul Dix
b18546be22
Fix tx.go after merge of alpha1
2015-06-02 14:56:20 -04:00
Ben Johnson
44d38cb430
Merge branch 'master' into alpha1
2015-06-02 10:40:52 -06:00
Paul Dix
c098c6fd78
Merge pull request #2728 from influxdb/pd-tsdb-drop-queries
...
Wire up DROP SERIES.
2015-06-02 11:30:49 -04:00
Paul Dix
4a1ce77090
Wire up DROP SERIES.
...
* Pulled over updates to ast and parser from master
* Updated store and shard to be able to drop series
* Pulled updates to database.go from master into tsdb/meta.go
2015-06-02 11:20:20 -04:00
Jason Wilder
4fa9fd5fe9
Merge pull request #2725 from influxdb/jw-client
...
Update client to use line protocol
2015-06-01 17:35:26 -06:00
Jason Wilder
5c851c4b1c
Fix panic: runtime error: slice bounds out of range in tsdb.measurementFromSeriesKey
...
Writing points without tags caused this since strings.Index(key, ",") returned
-1 if there were no tags.
2015-06-01 17:19:29 -06:00
Cory LaNou
d962283ae6
adding some integration tests
2015-06-01 16:04:20 -06:00
Cory LaNou
3597565955
reading and writing yo!
2015-06-01 11:59:58 -06:00
Ben Johnson
bf823d9887
Integrating cmd/influxd/run.
2015-05-30 14:06:36 -06:00
Ben Johnson
c916256ac9
Rename cluster.Writer to cluster.ShardWriter.
2015-05-30 14:05:27 -06:00
Paul Dix
f3245ab9ac
Make Authenticate return true if no users and creating a root user.
2015-05-30 14:29:16 -04:00
Paul Dix
89aee31a5d
Add comments and stub out `executeDropDatabase`
2015-05-30 12:10:24 -04:00
Paul Dix
15d37fd388
Make store open every shard on load. Fix shard to set measurementFields on load.
...
Fixes issue where queries wouldn't be able to hit anything because the index does't load until the shard is open.
Fix an issue where field codecs weren't populated in the shard when loading.
2015-05-30 11:53:53 -04:00
Ben Johnson
cdc5a47efa
Clean up influxdb.
2015-05-30 08:14:10 -06:00
Ben Johnson
97f9670fa3
Fix influxql.Rows.
2015-05-30 07:19:19 -06:00
Cory LaNou
f66afc23bb
merging alpha1, fix vet errors
2015-05-29 15:28:08 -06:00
Ben Johnson
9d4527071e
Refactor run command.
2015-05-29 14:59:57 -06:00
Ben Johnson
1f294ce8de
Add httpd.Handler.serveQuery() tests.
2015-05-29 14:59:57 -06:00
Paul Dix
f660b1a3d3
Create QueryExecutor in tsdb.
2015-05-29 14:59:57 -06:00
Paul Dix
072dacc1ab
Update tx.go to work with tsdb
2015-05-29 14:59:57 -06:00
Ben Johnson
df1aeee70a
WIP
2015-05-29 14:56:30 -06:00
Ben Johnson
75ab63b538
Refactor meta statement execution to meta.StatementExecutor.
2015-05-29 14:54:04 -06:00
Jason Wilder
870a183576
Ensure comma,space and equals are escaped
2015-05-29 14:34:06 -06:00
Jason Wilder
4e7c8bdad2
Add ParsePointsWithPrecision to handle precision write argument
2015-05-29 11:18:40 -06:00
Jason Wilder
e1322bb7d9
Add initial write_points http handler for text protocol
2015-05-29 11:18:40 -06:00
Jason Wilder
9a9bb736f7
Add text protocol parsing and serialzation for points
...
This changes the implementation of point to minimize the extra
processing needed to parse and marshal point data though the system.
2015-05-29 11:18:40 -06:00
Jason Wilder
85f59d696b
Create and open shards on-demand
...
Uses a structure like:
/root/
/db1/rp1/1
/2
/db2/rp2/3
If a write is assigned to a shard on the local node but the shard
has not been created, create it when the write returns an error
and retry the write.
2015-05-26 16:38:45 -06:00
Jason Wilder
7ace10f7e6
Load shards from filesystem when tsdb.Store is opened
2015-05-26 15:43:46 -06:00
Paul Dix
01618dc143
Move data.Node to tsdb.Store. Move data to cluster.
2015-05-26 15:56:54 -04:00
Jason Wilder
21bfb150a1
Wire up new write path
...
This allows the new write path to be hooked up if you start the
server with `INFLUXDB_ALPHA1=1`. When set, writes will go though
the coordinator and be stubbed out to write to a single local data
node with one shards. The write will be logged and written to
disk .
The env var is used so that the current write path is not completely
broken which would break many of the tests that depend on writes.
Note that queries are not currently working w/ the this change.
2015-05-26 12:07:56 -06:00
Paul Dix
6c80108f63
Change Database to DatabaseIndex, remove leftover warn statement
2015-05-24 07:39:45 -04:00
Paul Dix
c3ab88a715
Make the metadata index shared across shards while keeping field types and encoding local to each shard.
2015-05-23 18:06:07 -04:00
Jason Wilder
1076153a00
Convert Point to interface
...
Should be possible to replace the implementation with a more
optimized version now.
2015-05-22 15:39:55 -06:00
Jason Wilder
528f47e093
Convert Point.Fields to Point.Fields()
2015-05-22 15:22:03 -06:00
Jason Wilder
f8d599cda9
Convert Point.Tags to Point.Tags()
2015-05-22 15:12:34 -06:00
Jason Wilder
5dcab443dc
Move data.Point to tsdb.Point
2015-05-22 15:00:51 -06:00
Paul Dix
8f937cae87
Initial implementation for writing data to a shard.
2015-05-22 16:11:18 -04:00