Philip O'Toole
bbc103305b
Support multiple Graphite inputs
...
Fixes issue #3636
2015-09-06 21:33:46 -07:00
Philip O'Toole
fa29e12222
Shutdown UDP Graphite on SIGTERM
...
Service.Close() had no way of closing the UDP Conn. This change makes
the UDP an attribute of the server, so Close() can access it.
2015-09-05 00:30:59 -07:00
Philip O'Toole
579e2a250c
Add stats to httpd package
2015-09-04 12:37:59 -07:00
Philip O'Toole
3df898bd90
Merge pull request #3987 from influxdb/global_expvar_hookup_diagnostics
...
Use expvar statistics directly
2015-09-04 11:13:17 -07:00
Philip O'Toole
89bc392ec4
Access expvar directly from monitor
...
expvar map is already global so access it directly. This simplifies the
code and makes it much eaisier to use from other modules.
2015-09-04 09:45:24 -07:00
Philip O'Toole
cf5a655249
Don't precreate shard groups entirely in past
...
Fixes issue #3722
2015-09-04 08:31:50 -07:00
Philip O'Toole
6ad35e23e9
Integrate code review feedback
2015-09-03 20:50:54 -07:00
Philip O'Toole
d58532d844
Add Graphite diagnostics
...
Graphite diagnostics currently show TCP connections.
2015-09-03 20:50:54 -07:00
Philip O'Toole
e07432c59f
Implement diagnostics support
...
This change adds support for diagnostics by decomposing the existing
interface into two interfaces -- one for stats, and the other for
diags. It also adds some basic monitor of system, network, and the Go
runtime.
2015-09-03 20:50:54 -07:00
David Norton
dce666e757
fix #3979 : fix race in CQ service
2015-09-03 19:55:40 -04:00
Ben Johnson
deff06f850
add copier service
...
This commit adds the copier service which allows one server to
copy shards from another server. This will be used for moving
shards in the cluster.
2015-09-03 13:07:35 -06:00
David Norton
0cb9618d6d
fix CQ intoDB()
2015-09-03 09:07:57 -04:00
David Norton
d466b19388
update CQ service unit tests
2015-09-03 07:12:15 -04:00
David Norton
66001cfbb5
fix #2555 : add integration tests for CQs
2015-09-03 07:12:15 -04:00
David Norton
021a6f5453
rename CQ tests
2015-09-03 07:12:15 -04:00
David Norton
99a22c174b
fix #2555 : add backreference in CQs
...
Add new query syntax to allow the following in CQs:
INTO "1hPolicy".:MEASUREMENT
2015-09-03 07:12:15 -04:00
Philip O'Toole
4e2ee1ea70
Rename MonitorService to just Monitor
...
monitor is not a service, it has more in common with meta, since it
provides functionality to the query layer. This names makes this
clearer.
2015-09-02 15:07:30 -07:00
Philip O'Toole
366c0115f9
Serve expvar information from HTTP package
2015-09-01 15:22:37 -07:00
Philip O'Toole
9df17409d3
Use monitor service with Graphite
2015-09-01 15:21:36 -07:00
Philip O'Toole
d87e668c78
Remove obsolete monitoring code
2015-09-01 15:03:52 -07:00
Philip O'Toole
d771612718
Set default retention check interval to 30 minutes
...
Since the minimum retention period is 1 hour, checking every 10 minutes
seems excessive and generates noise in the logs.
2015-08-27 16:08:03 -07:00
Philip O'Toole
ae825fdf3d
Correct typo in retention service logs
2015-08-27 16:08:03 -07:00
Cory LaNou
74dad8c68c
fix collectd tests for float data
2015-08-25 09:14:38 -05:00
Philip O'Toole
6193226ce8
Revert "Merge pull request #3771 from influxdb/tcp_graphite_timeout"
...
This reverts commit d7f646f7a4
, reversing
changes made to d6f9903f10
.
Conflicts:
CHANGELOG.md
Fixes issue #3809
2015-08-24 10:53:14 -07:00
Philip O'Toole
d7f646f7a4
Merge pull request #3771 from influxdb/tcp_graphite_timeout
...
Close idle Graphite TCP connections
2015-08-20 17:08:17 -07:00
Philip O'Toole
50b0f67290
Add Graphite TCP timeout tests
2015-08-20 15:46:08 -07:00
Philip
4930a6d8bb
Start adding timeouts to TCP Graphite input
2015-08-20 15:10:22 -07:00
Jason Wilder
afe1f598ca
Cache name and fields if requested
...
Through profiling of writes, point.Fields() and point.Name() were called
repeatedly in PointsWriter and the Shard. These calls are somewhat expensive
when writing large batches so we can cache them to avoid wasting CPU cycles.
Using influx_stress with default settings
Before:
Wrote 10000000 points at average rate of 202570
Average response time: 235.450355ms
After:
Wrote 10000000 points at average rate of 246120
Average response time: 182.881008ms
2015-08-20 15:48:38 -06:00
Philip
8e51064db1
Log Graphite batch size and timeout
2015-08-20 11:23:09 -07:00
Gunnar
cf5ac2603d
Fix Graphite README typo
...
Fixes #3727
2015-08-19 07:53:29 -07:00
Gunnar
409fe0afe3
Merge pull request #3686 from jonseymour/secure-options
...
Prevent 'p' parameter of OPTIONS requests being logged.
2015-08-18 17:19:39 -07:00
Philip O'Toole
5bb699e9a9
Enhance precreation log messages
2015-08-18 16:20:55 -07:00
Jon Seymour
bdce79fe57
Merge branch 'secure-options-minimal' into secure-options
2015-08-19 09:15:58 +10:00
Jon Seymour
1d5ff55d76
Remove redaction logic from parseCredentials.
...
We now redact the credentials in the logger, so the function implemented
by the deleted lines now seems redudndant.
Signed-off-by: Jon Seymour <jon@wildducktheories.com>
2015-08-19 09:08:54 +10:00
Philip O'Toole
28a6b1f3fd
Merge pull request #3697 from influxdb/chunking_10k
...
Merge same-series data if not chunking
2015-08-18 13:23:10 -07:00
Jon Seymour
2805c4a9b5
Ensure 'p' parameter is not logged, even on OPTIONS requests.
...
Previously password redaction only occurred inside the
authentication handler and the authentication handler is not on
the request path for OPTIONS requests and, in any case, would
not be invoked because of an early return on OPTIONS
requests by the CORS handler.
Now, we change the response logger to explictly replace any
occurrence of the 'p' parameter from the query string with
'[REDACTED]' prior to logging the response.
Signed-off-by: Jon Seymour <jon@wildducktheories.com>
2015-08-18 09:41:16 +10:00
Philip O'Toole
6415944d01
Don't repeat retention policy log message
2015-08-17 16:15:51 -07:00
Philip O'Toole
487c336571
Correctly merge rows for identical series
...
If no chunking was requested by the user, the co-ordinating node buffers all
results in RAM before emitting a single result. However buffering was not
merging results for rows which had data for the same series. This change fixes this.
Fixes issue #3242 .
2015-08-17 13:43:17 -07:00
Jason Wilder
7cf31a74cd
Prevent out of memory range slices from being created
...
If the hinted handoff segment is corrupt, the size read could be
invalid and attempting to create a slice using that size causes
a panic. Ideally, we'd have a checksum on the seqment record but
for now just return an error when the size is larger than the
segment file.
Fixes #3687
2015-08-17 10:48:01 -06:00
Jason Wilder
e5e782d13d
Merge pull request #3517 from dim/fix-cq-timeouts
...
Batch CQ writes to avoid timeouts
2015-08-14 10:52:17 -06:00
Jason Wilder
bb6de3b8f3
Merge pull request #3522 from dim/fix-cq-timeout-bug
...
Consume CQ results on request timeouts
2015-08-14 10:52:04 -06:00
Cory LaNou
0b05980ae2
silence snapshotter logger for testing
2015-08-13 20:53:40 -05:00
Jason Wilder
a7cb0df4af
Fix typos/spacing
2015-08-13 10:02:05 -06:00
Jason Wilder
668181d275
Make log statements more consistent
...
* Capitalize first letter of message
* Log all services staring consistently
* Remove some extraneous log statements in meta.Store
* Log data dirs for meta, data and hinted handoff
2015-08-13 10:01:42 -06:00
Philip O'Toole
089d947bf3
Shutdown Graphite listener first during Close()
...
Without this the WaitGroup was not fully decremented as the Accept()
call on the listener never exited, and Wait() then never exited.
2015-08-12 12:49:58 -07:00
Philip O'Toole
966dee7559
Set sensible Graphite batching defaults
2015-08-11 18:34:36 -07:00
gunnaraasen
7dc7389e96
Remove dump from client and handler
2015-08-07 11:56:30 -07:00
Jason Wilder
398ffabab7
Fix panic in hinted handoff processor
...
A short write has occurred and we do not have enough bytes to determine
the size of the payload. This is corrupted record that we should drop.
Instead of panicing, log the error and advance the queue since the error
at this location is unreoverable currently.
Fixes #3436
2015-08-06 14:06:41 -06:00
Jason Wilder
4f7df336f2
Fix go vet
2015-08-05 12:16:17 -06:00
Nathaniel Cook
2fac5471ce
add TLS support to the OpenTSDB plugin
2015-07-31 12:00:22 -06:00
Dimitrij Denissenko
762a1c69d5
Consume CQ results on request timeouts
2015-07-30 16:59:47 +01:00
Dimitrij Denissenko
642d6eba85
Batch CQ writes to avoid timeouts
2015-07-30 15:24:51 +01:00
Gunnar
2a02605ef6
Merge pull request #3474 from influxdb/ga-options
...
Respond to OPTIONS requests on /query endpoint
2015-07-28 16:32:26 -07:00
Paul Dix
fb76c34a79
Merge pull request #3426 from jhorwit2/jah/continuous-logging
...
Added additional logging to continuous queries
2015-07-27 17:43:55 -04:00
gunnaraasen
5ef0be2d71
Respond to OPTIONS requests on /query endpoint
2015-07-27 11:58:44 -07:00
Vorn Mom
38387ba6b7
Fixed typo.
2015-07-24 19:41:46 -04:00
Vorn Mom
5b50002728
Fixed typo in README
2015-07-24 17:07:41 -04:00
Josh Horwitz
e722b4b4ad
Added additional logging to continuous queries
2015-07-23 19:09:42 -04:00
Gunnar
d9f16987fc
Merge pull request #3439 from influxdb/ga-admin-https
...
Add HTTPS option and logger to admin service
2015-07-23 15:09:56 -07:00
Gunnar
d1fc0a3cc9
Merge pull request #3375 from influxdb/https
...
First pass at re-enabling HTTPS.
2015-07-23 15:04:29 -07:00
gunnaraasen
b30351f750
Remove redundant loggers and clean up logic
2015-07-23 15:01:48 -07:00
gunnaraasen
8ab9424295
Return error if HTTPS fails
2015-07-23 15:00:33 -07:00
gunnaraasen
614332bf17
Exit if HTTPS fails
2015-07-23 14:50:45 -07:00
Gunnar
96575e678a
Merge pull request #3427 from influxdb/ga-pw-log
...
Logging tweaks, sanitize passwords and note if authentication is enabled
2015-07-23 14:12:41 -07:00
gunnaraasen
e5ead383e5
Add HTTPS option and logger to admin service
2015-07-22 16:49:12 -07:00
Nathaniel Cook
17cc09259b
change for better code clarity
2015-07-21 19:40:43 -06:00
gunnaraasen
785a8b4d9a
Sanitize password from HTTP logs
2015-07-21 18:28:05 -07:00
Todd Persen
0780cf6599
Add a config test for HTTPS.
2015-07-21 18:20:08 -07:00
gunnaraasen
20de2bc914
Log authentication enabled message
2015-07-21 17:53:12 -07:00
Nathaniel Cook
3e29d8821a
catch opentsdb malformed tags if they are missing keys or values
2015-07-21 16:11:58 -06:00
Philip O'Toole
425a65fca1
RemoteShard mapping now performed over TCP
...
With this change remote mapping no longer uses HTTP, as the HTTP ports
exposed by nodes on the cluster are not known cluster wide. The TCP
ports exposed by the cluster service are, so this change uses that
functionality. Each RemoteMapper has its own dedicated connection pool
for each node, and remote mapping TCP connections are in no way coupled
with query TCP connections.
2015-07-20 10:44:38 -07:00
Todd Persen
47d5c2d65f
First pass at re-enabling HTTPS.
2015-07-17 16:57:31 -07:00
Philip O'Toole
f549910a18
Merge pull request #3279 from LK4D4/fix_style_else
...
Fix style issues with else
2015-07-17 11:53:42 -07:00
gunnaraasen
9ba37325f6
Fixes authorization.
...
Adds GRANT and REVOKE statements for admin privilege. Adds authorization to the query endpoint.
2015-07-17 11:33:06 -07:00
Alexander Morozov
675eacbf2c
Fix style issues with else
...
In go it's better to just continue flow without "else", if it is return in
"if" statement.
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-17 11:10:23 -07:00
Philip O'Toole
a0dba108a0
Unit test shard mapper handler error handling
2015-07-15 16:08:26 -07:00
Philip O'Toole
65a580779b
Shard mapping handler returns on errors
2015-07-15 16:08:10 -07:00
Philip O'Toole
7bdba556a1
Support pretty printing shard mapping
2015-07-15 13:06:16 -07:00
Philip O'Toole
74cb96646c
Refactor query engine for distributed query support
...
With this change, the query engine code gathers information about
shards and tagsets by working with individual shards, collating the
information, and returning that to the client. It does not assume that any
particular shard is local, and accesses all shards through abstracted
Mappers, of which there are two types -- a Mapper type for Raw queries
and a second type for Aggregate queries. There are corresponding
Executors for each type of Mapper, but both types of Executors share the
same interface.
2015-07-15 12:54:55 -07:00
Josh Horwitz
e4f2d8a6c4
Fixed httpd logger to get user from query params
2015-07-13 17:36:34 -04:00
Sean Beckett
72f52d44c9
making queries syntactically correct
2015-07-08 17:25:56 -06:00
Jason Wilder
6b8d3268e6
Fix code review comments
2015-07-07 11:41:12 -06:00
Jason Wilder
db63ada7db
Drop NaN and Inf values from graphite input
...
NaN is skipped by graphite. Inf is not a supported value for Influxdb.
2015-07-06 16:14:02 -06:00
Jason Wilder
b58df5344c
Use a single batcher for graphite service
...
Previously there was a batcher per connection and each batcher was
flushed when the connection was closed. This didn't have much of an
effect when multiple clients connected and disconnected since it would
flush the batch immediately. It also did not help UDP traffic.
Instead, there is now a shared batcher for the service so that multiple
connections will not cause frequent flushes.
2015-07-06 16:14:02 -06:00
Jason Wilder
4a71692b88
Allow extra tags using graphite default template
...
Fixes #3223
2015-07-06 16:14:02 -06:00
Jason Wilder
0b481d55f4
Fix graphite filter searching matching wrong template
...
Default template would get chosen in some cases when a matching filter
existed.
Fixes #3245
2015-07-06 16:14:02 -06:00
Jason Wilder
a3ab093996
Parse NaN as float
...
Fixes #3230
2015-07-06 16:14:01 -06:00
Jason Wilder
87c962d62d
Fix panics when collectd fails to start
...
If collectd fails to start, it can panic when close is called because
some variables have not be initialized yet.
2015-06-29 22:09:47 -06:00
Joseph Crail
5fccee3d16
Fix spelling errors in comments and strings.
2015-06-28 02:54:34 -04:00
Philip O'Toole
ff61d88c10
Create UDP batcher before listening for UDP
...
Otherwise a packet may be received before the batcher has been
instantiated.
2015-06-26 10:17:33 -04:00
Jason Wilder
2c333c6c63
Fix markdown formatting
2015-06-25 22:08:13 -06:00
Jason Wilder
562d7cd37d
Handle timestamp special cases
...
If no timestamp is sent or the value -1 is sent, the current UTC
time is used.
2015-06-24 23:53:13 -06:00
Jason Wilder
c5a10cf93d
Use raw metric name when default template fails to match
2015-06-24 23:38:10 -06:00
Jason Wilder
fbfb90d66c
Code review fixes
2015-06-24 23:33:42 -06:00
Jason Wilder
320a951575
Fix default template being returned when partially matching
...
another filter.
2015-06-24 23:09:08 -06:00
Jason Wilder
ba7187f554
Add comments to graphite parser
2015-06-24 23:09:08 -06:00
Jason Wilder
a76e812b38
Add graphite parser benchmark
2015-06-24 23:09:08 -06:00
Jason Wilder
9ed71ad492
Add test for matching similar patterns
2015-06-24 23:09:08 -06:00
Jason Wilder
613b1d2eb7
Prevent duplicate filters in config
...
A filter should map directly to one template, allowing duplicate
filters is not supported.
2015-06-24 23:09:08 -06:00
Jason Wilder
f70eee6e7a
Add support for multiple measurement fields in templates
...
Provides a little more flexibility in controlling the parsed
metric names for metris like:
servers.localhost.cpu.cpu0.user
Previously, you could only use a single field like "cpu", "user"
or a wildcard to match "cpu.cpu0.user". You can now pull out "cpu"
and "user" and join them together in the metric name using a custom
separator character. By default this is ".".
2015-06-24 23:09:08 -06:00
Jason Wilder
a2a1956048
Use search tree for filter matching
...
This adds a sorted search tree for matchining filters to a template
more efficiently. Each filter is split on "." and each element is
added to the tree. Patterns with matching prefixes are added under
the same subtree.
2015-06-24 23:09:08 -06:00
Jason Wilder
98cbfdca51
Update tempalte format comment
2015-06-24 23:09:07 -06:00
Jason Wilder
b294930c95
Add graphite plugin readme
2015-06-24 23:09:07 -06:00
Jason Wilder
1ecf9b5d36
Fix validation failing when using a default template
2015-06-24 23:09:07 -06:00
Jason Wilder
dd0e6e5e02
Use strings.Fields to bef more forgiving of whitespace
2015-06-24 23:09:07 -06:00
Jason Wilder
fed8d67946
Add validation for graphite config templates and tags
2015-06-24 23:09:07 -06:00
Jason Wilder
b55981f090
Add support for per-template default tags
...
These are tags that can be added at the template level. They
will override any global tags and any parsed tags with the same
name from the metric will override these.
2015-06-24 23:09:07 -06:00
Jason Wilder
9cd82ae316
Add support for global tags
...
These are tags that can be add to all metrics.
2015-06-24 23:09:07 -06:00
Jason Wilder
cab9e36111
Add basic template filtering support
...
This filter implementation is fairly naive and won't scale well
to large numbers of templates and filters. It will be replaced
with a trie-based approach in the future.
2015-06-24 23:09:07 -06:00
Jason Wilder
e5fbf249ff
Remove DecodeNameAndTags func
2015-06-24 23:09:07 -06:00
Jason Wilder
46046c6d32
Add matcher for match a metric to a template
...
If no template matches, use a default template that just matches
the whole metric name as the measurement.
2015-06-24 23:09:07 -06:00
Jason Wilder
9bcbbd9875
Rename matcher to template
2015-06-24 23:09:07 -06:00
Jason Wilder
d69a21c4e4
Allow skipping fields in templates
2015-06-24 23:09:07 -06:00
Jason Wilder
a7d4d97743
Convert template matching to matcher struct
2015-06-24 23:09:06 -06:00
Jason Wilder
d132263f08
Add support for measurement*
2015-06-24 23:09:06 -06:00
Jason Wilder
d539b23817
Move graphite parser to separate file
2015-06-24 23:09:06 -06:00
Can ZHANG
2a383e6858
Fix unit tests for graphite
2015-06-24 23:09:06 -06:00
Can ZHANG
c130efb5e2
Add fields to config metric name schema of graphite
2015-06-24 23:09:06 -06:00
David Norton
c76e904aa3
remove commented out code
2015-06-22 15:42:13 -04:00
David Norton
6cbb605930
fix #2944 : update unit tests
2015-06-22 15:40:31 -04:00
David Norton
0467aa8fec
fix #2944 : don't require WHERE time on create CQ
2015-06-22 15:39:22 -04:00
Vladimir Lopes
57e0879f84
Correct use of config write-tracing on the httpd handler
2015-06-17 09:55:34 -03:00
Philip O'Toole
e165777509
Move doc on CQs to CQ services component
2015-06-15 13:55:11 -07:00
Philip O'Toole
e0c26825d3
Don't log each UDP batch
...
Fixes issue #2989 .
2015-06-15 10:29:28 -07:00
Philip O'Toole
d2da99049a
collectd test client defaults to no limit points
2015-06-12 15:28:31 -07:00
Philip O'Toole
1eb0347670
Add infinite loop to collectd client rate-limiter
2015-06-12 15:25:46 -07:00
Philip O'Toole
45802a5911
Remove binary committed in error
2015-06-12 15:21:51 -07:00
Philip O'Toole
e02bb37565
collectd test client now configurable
2015-06-12 15:18:48 -07:00
Philip O'Toole
9f2964d869
Add very basic initial test collectd client
2015-06-12 14:31:53 -07:00
Philip O'Toole
7f96d0ed6a
Pull WithDefaults from collectd and openTSDB
...
This pattern, which is present in Graphite, is not needed for collectd
and openTSDB.
2015-06-12 14:17:18 -07:00
Philip O'Toole
44033778f5
Ensure collectd uses defaults with partial config
2015-06-12 13:56:43 -07:00
Philip O'Toole
b923ce0fc8
Minor updates to openTSDB README
2015-06-12 12:06:58 -07:00
Philip O'Toole
27f0b082b2
Add basic documentation for the openTSDB input
2015-06-12 12:05:23 -07:00
Philip O'Toole
916b4e2df9
Rename notes.md to README.md
...
This means it will be rendered automatically by github.
2015-06-12 09:33:22 -07:00
Paul Dix
5e7ddc6a60
Merge pull request #2928 from neonstalwart/version-header
...
pass along version to httpd/handler
2015-06-12 09:46:33 -04:00
Jason Wilder
884472ff8c
Write a newline after writing error for line protocol
...
Errors generated via curl or CLI tools can be hard to read using
a shell.
2015-06-11 16:19:19 -06:00
Philip O'Toole
4dff5f48aa
Export WaitForLeader on MetaStore
...
This exported function can then be used by Services and
server-reporting, so those components don't make progress until the
cluster is ready.
2015-06-11 11:10:07 -07:00
ben hockey
ce84047b44
pass along version to httpd/handler
2015-06-11 11:22:37 -05:00
David Norton
595807e195
fix #2920 : remove commented out code
2015-06-11 09:45:50 -04:00
David Norton
7c39ede6ba
fix #2920 : create collectd database on startup
2015-06-11 09:40:42 -04:00
Ben Johnson
bc31783a00
Refactor backup and restore
...
This commit updates the snapshot code as well as the "backup" and
"restore" command to work with the new architecture.
2015-06-10 22:07:01 -06:00
Philip O'Toole
e294db3c49
Set openTSDB defaults in service
2015-06-10 20:42:44 -07:00
Philip O'Toole
e84f661f7e
Use defaults for Graphite input where necessary
2015-06-10 20:38:17 -07:00
Philip O'Toole
91b6964705
Ensure openTSDB target database exists
2015-06-10 20:05:34 -07:00
Philip O'Toole
dddaf46b77
Update CHANGELOG
2015-06-10 20:02:37 -07:00
Philip O'Toole
57ce67b97b
Ensure target Graphite database exists
2015-06-10 18:03:06 -07:00
Philip O'Toole
01f2d7de75
Merge pull request #2878 from influxdb/shard_precreation
...
Shard precreation service
2015-06-10 16:40:39 -07:00
Philip O'Toole
d942250c5e
Merge pull request #2862 from runner-mei/connection_closed2
...
Make InfluxDB win32 friendly, fix unit test is failed on the windows
2015-06-10 15:58:57 -07:00
Philip O'Toole
5798d99692
Move shard precreation logic to meta/store
2015-06-10 15:37:00 -07:00
Philip O'Toole
f679c81136
Simply use "precreator" for shard precreation
2015-06-10 15:27:38 -07:00
Philip O'Toole
eb96698975
Unit-test shard precreation
2015-06-10 15:27:38 -07:00
Philip O'Toole
dda073c19e
Add shard precreation service
2015-06-10 15:27:38 -07:00
Philip O'Toole
3b74f753a8
Add short design notes on shard precreation
2015-06-10 15:27:38 -07:00
Philip O'Toole
b5ad92be70
Create shard precreation service
...
Initial commit includes basic configuration control.
2015-06-10 15:27:38 -07:00
Jason Wilder
67d4ef0e28
Don't queue write failures that due to type conflicts
...
These will never succeed and will stay in the queue indefinitely.
2015-06-10 14:52:59 -06:00
Philip O'Toole
a94cf8a4ca
Consolidate imports for retention service
...
Minor cosmetic change
2015-06-10 11:25:17 -07:00
Cory LaNou
8a5cf394d8
add ability to silence logging for testing
2015-06-10 10:27:57 -05:00
runner.mei
015adc949c
Make InfluxDB win32 friendly, fix unit test is failed on the windows
2015-06-10 07:29:08 +08:00
Philip O'Toole
cbaf3cb0ed
Support setting openTSDB consistency level
2015-06-09 15:39:31 -07:00
Philip O'Toole
e21d49e85f
Add openTSDB consistency level config param
2015-06-09 15:03:52 -07:00
Philip O'Toole
8eea2b3092
Allow Server creation to return errors
2015-06-09 14:21:12 -07:00
Philip O'Toole
952fb49368
Move parsing consistency levels to cluster package
...
Errors parsing the consistency level are indicated by returning a nil
Graphite input.
2015-06-09 14:21:12 -07:00
Jason Wilder
5dab8de7e0
Log hinted handoff processing duration
2015-06-09 14:49:18 -06:00
Jason Wilder
c9f9b37753
Add hinted handoff queue rate limiting
...
Basic throughput limiting to dynamically maintain a bytes/sec
limit if configured for hinted handoff retry queues. If a batch is
larger than the limit, the limit will slow the processing down to one
write per second.
By default, the limit is unbounded. It can be enabled to help prevent
retstarting nodes that have queued writes for them from being overloaded
at startup.
2015-06-09 14:46:13 -06:00
David Norton
939e02a900
fix #2814 : return error instead of panic
2015-06-09 00:34:46 -04:00
David Norton
88a7774a80
fix #2814 : remove unnecessary initialization
2015-06-09 00:34:46 -04:00
David Norton
cef04db18f
fix #2814 : use toml.Duration where needed
2015-06-09 00:34:46 -04:00
David Norton
2f03a07a32
fix #2814 : move repetative test data to global var
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
Philip O'Toole
4769d65f23
Final Graphite test code fixes
2015-06-08 20:39:56 -07:00
Philip O'Toole
9d628320c2
Rename test file to service_test.go
2015-06-08 20:39:42 -07:00
Philip O'Toole
4d01c8ad41
Add test of Graphite UDP input
2015-06-08 20:39:42 -07:00
Philip O'Toole
cd038ccddb
Add test of Graphite TCP input
2015-06-08 20:39:42 -07:00
Philip O'Toole
b0d76913b0
Add new Service-style Graphite input support
2015-06-08 20:39:39 -07:00
Philip O'Toole
1f8b04729f
Allow Graphite consistency control
...
Remove obsolete Graphite files
2015-06-08 20:00:05 -07:00
Philip O'Toole
c1e093bc08
Add batching control to Graphite config
2015-06-08 20:00:05 -07:00
Philip O'Toole
120b64fee8
Actually unit-test Graphite configuration
2015-06-08 20:00:05 -07:00
Jason Wilder
c1c8c5f0ca
Merge pull request #2835 from influxdb/jw-json-writes
...
Skip leading whitespace when detecting JSON writes without content-type
2015-06-08 17:49:44 -06:00
Ben Johnson
a9657289c4
Merge pull request #2823 from benbjohnson/opentsdb
...
Convert OpenTSDB to service
2015-06-08 17:32:55 -06:00
Jason Wilder
07d1aac50f
Fix comment in hinted handoff processor
2015-06-08 16:51:48 -06:00
Jason Wilder
48b98fea70
Skip leading whitespace when detecting JSON writes without content-type
...
Fixes #2834
2015-06-08 16:44:47 -06:00
Ben Johnson
b688eccb77
Refactor OpenTSDB to a service
...
This commit converts the OpenTSDB endpoint into a service.
2015-06-08 15:12:16 -06:00
Jason Wilder
ede254484d
Process hinted handoff queues concurrently
2015-06-08 15:05:44 -06:00
Jason Wilder
d86b15953c
Fix queue advance not writing updated position
...
The advance function was not writing the updated position in the
queue until after the next advance call was called. Resulted in
the very last message would get replayed on restart each time.
2015-06-08 12:09:31 -06:00
Jason Wilder
e75208f15c
Log remote write erros
2015-06-08 09:09:10 -06:00
Jason Wilder
2ccf97e6a0
Add wait group to hinted handoff service
2015-06-05 22:16:52 -06:00
Jason Wilder
4ec77d8b84
Fix comments
2015-06-05 22:16:52 -06:00
Jason Wilder
e2f3ff26a5
Fix data race when close hinted handoff service
2015-06-05 22:16:51 -06:00
Jason Wilder
f4cea559d3
Purge hinted handoff queue if entries stick around past a cutoff
2015-06-05 22:16:51 -06:00
Jason Wilder
9d67f9bf62
Add hinted handoff max age and throughput rate limit config options
2015-06-05 22:16:51 -06:00
Jason Wilder
809b9b8a83
Add basic hinted handoff support
...
If a remote write fails, it will be queued to a per-node, local disk
queue and retried later.
2015-06-05 22:16:51 -06:00
Jason Wilder
89c01cd37d
Add hinted handoff queue
...
This adds a disk backed queue that will be to persist hinted
handoff writes.
2015-06-05 22:16:51 -06:00
Jason Wilder
75b72c60fe
Add hinted handoff service
...
The hinted handoff service will queue a write to a remote node if
that write fails and periodically retry the write.
2015-06-05 22:16:51 -06:00
Jason Wilder
170c584b45
Add hinted handoff config and tests
2015-06-05 22:16:51 -06:00
David Norton
fcf89c87dd
cr #2733 : uncomment defer in test
2015-06-05 22:30:57 -04:00
David Norton
a235b4998d
fix #2733 : trying to fix CI race
2015-06-05 20:23:44 -04:00
David Norton
e107a681c5
cr #2733 : make error message more detailed
2015-06-05 19:56:28 -04:00
David Norton
d8f0445940
fix #2733 : fix race in tests
2015-06-05 19:56:28 -04:00
David Norton
fb514f2302
fix #2733 : add endpoint to trigger CQ(s)
2015-06-05 19:56:28 -04:00
David Norton
8699aa8f0b
fix #2733 : more tests
2015-06-05 19:56:28 -04:00
David Norton
e0838cb705
fix #2733 : add tests for CQ service
2015-06-05 19:54:23 -04:00
David Norton
092bc3fd2d
fix #2733 : hook CQs back in
2015-06-05 19:54:23 -04:00
Philip O'Toole
041b31d6b3
Merge pull request #2783 from renan-/udp-refresh
...
Make UDP service code simpler
2015-06-05 16:23:16 -07: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
Philip O'Toole
c59a234e7b
Deleted shard groups are not counted as "expired"
2015-06-05 13:08:36 -07:00
Philip O'Toole
a4a05241ba
Set retention enforcement default config
2015-06-05 11:27:30 -07:00
Philip O'Toole
967ebe0568
Stop retention timers on service shutdown
2015-06-05 08:17:27 -07:00
Renan Strauss
e8ab17dbc5
[services/udp] Clean-up the code
2015-06-05 10:55:10 +02:00
Philip O'Toole
5e5f2cd37d
Move expired and deleted shard logic to MetaStore
2015-06-04 22:18:52 -07:00
Philip O'Toole
ae3e8c727a
Don't append retention service if not enabled
2015-06-04 21:47:06 -07:00
Philip O'Toole
28e853d915
Unit-test retention config
2015-06-04 21:47:06 -07:00
Philip O'Toole
8600e2e036
Add shard group "DeletedAt" timestamps
2015-06-04 21:46:52 -07:00
Philip O'Toole
37f9a886b7
Retention service now deletes shards
2015-06-04 21:07:22 -07:00
Philip O'Toole
fab9adb361
Hook in actual retention service
2015-06-04 17:02:22 -07:00
Renan Strauss
3b09a59540
Add UDP service back
2015-06-04 10:24:48 +02:00
Cory LaNou
5c52c4cda1
add ability to set logger for testing
2015-06-03 09:58:39 -06:00
Jason Wilder
c36cec70f2
Merge pull request #2748 from influxdb/jw-points-name
...
Ensure JSON point writes have names and at least 1 field
2015-06-02 20:50:16 -06:00
Jason Wilder
5c96b03e3b
Preventing writing points with no measument name or fields
...
Causes the shard write to fail which ends up closing the shard and
future writes cause a panic.
2015-06-02 20:38:15 -06:00
Cory LaNou
b3f215ac5f
add back epoch conversion on query results
2015-06-02 14:49:05 -06:00
Ben Johnson
44d38cb430
Merge branch 'master' into alpha1
2015-06-02 10:40:52 -06:00
Cory LaNou
d962283ae6
adding some integration tests
2015-06-01 16:04:20 -06:00
Cory LaNou
17bdf1c114
get both json/line protocol endpoints working
2015-06-01 12:35:57 -06:00
Cory LaNou
d581254719
fix tests
2015-06-01 11:59:58 -06:00
Cory LaNou
3597565955
reading and writing yo!
2015-06-01 11:59:58 -06:00
Jason Wilder
badb2bf057
Use content negotiation for /write API
...
If content-type is "application/json", we'll process the request as
of old JSON write API. Otherwise, we assume line protocol but check
the first byte in case a older client is still sending JSON without the
correct content-type header.
2015-06-01 11:15:46 -06:00
Ben Johnson
bf823d9887
Integrating cmd/influxd/run.
2015-05-30 14:06:36 -06:00
Ben Johnson
2b5d04aee3
Fix local test listener.
2015-05-30 09:01:04 -06:00
Ben Johnson
8c8a55a737
Removed 'failed' from test suite.
2015-05-30 08:59:27 -06:00
Ben Johnson
4872e6db7c
Move services to subpackage.
2015-05-30 08:20:12 -06:00