Commit Graph

45 Commits (f97f5bcc82e6434d2bb4cbc39d3f64c11e4cfd06)

Author SHA1 Message Date
Andrew Montgomery-Hurrell 2ed0d2d1c9
Make client errors more helpful on downstream errs
When a downstream server such as a proxy or loadbalancer between
influxdb and the client produces an error, the client currently does
not make this very obvious.

This change introduces checks on both the content type and the
influx version header to identify whether a request was served by
influxdb itself and returns a more appropriate error in the cases
where it can be determined a downstream issue is at play.
2017-10-26 11:56:29 +01:00
Jonathan A. Sternberg 2f47c3d28f Add support for uint64 in the clients 2017-10-05 09:35:06 -05:00
Jason Wilder 2cac46ebbc Convert usage of strings to []byte
Measurement name and field were converted between []byte and string
repetively causing lots of garbage.  This switches the code to use
[]byte in the write path.
2017-05-12 14:05:19 -06:00
jgeiger 43117a94d6 Add chunked processing back into v2 client
- Moving the to v2 client removed this functionality. This copies
  code back into the client. The tests were also added back into
  the test suite.
2017-02-13 09:21:13 -07:00
Edd Robinson feb7a2842c Use unbuffered error channels in tests 2017-01-17 10:53:15 -08:00
Edd Robinson fb7388cdfc Remove dead code from various pkgs 2017-01-17 09:47:34 -08:00
Mark Rushakoff 6a94d200c8 Merge remote-tracking branch 'influx/master' into mr-godoc 2017-01-04 13:27:36 -08:00
Cory LaNou 3c518f8927
panicing is bad -> error returns are good 2017-01-03 14:28:29 -06:00
Mark Rushakoff 623bb71b01 Update godoc for the client packages 2016-12-30 11:58:43 -08:00
Harry Rose a07103ca72 Add bound parameters map to Query object. Fixes #7687 2016-12-20 20:07:28 +00:00
Joe LeGasse 0d2b339d7c models: Added AppendString, PointSize, and Round to Point
This change also updates the UDP client to take advantage of these
improvements, as well as some code review changes.
2016-09-23 13:22:30 -04:00
Joe LeGasse ee6816756a udp client: large points will now be split, if possible
The v2 UDP client will attempt to split points that exceed the
configured payload size. It will only do this for points that have a
timestamp specified.
2016-09-23 13:22:30 -04:00
Vladimir Sagan 86f3300a46 refactor conditions of udp write func 2016-09-23 13:22:30 -04:00
Vladimir Sagan a3da819552 UDP client refactoring 2016-09-23 13:22:30 -04:00
Vladimir Sagan 0e33af50a9 UDP client: write metrics splitting metrics into chunks 2016-09-23 13:22:30 -04:00
Ben Johnson 8aa224b22d
reduce memory allocations in index
This commit changes the index to point to index data in the shards
instead of keeping it in-memory on the heap.
2016-08-16 14:09:00 -06:00
Nathaniel Cook 2c3df055cf wrap JSON decode error with meaning full data 2016-05-05 16:00:52 -06:00
Jonathan A. Sternberg 6f61c0ea4a Add POST /query endpoint and warning messages for using GET with write operations
In order to follow REST a bit more carefully, all write operations
should go through a POST in the future. We still allow read operations
through either GET or POST (similar to the Graphite /render endpoint),
but write operations will trigger a returned warning as part of the JSON
response and will eventually return an error.

Also updates the Golang client libraries to always use POST instead of
GET.

Fixes #6290.
2016-04-29 09:00:23 -04:00
Cameron Sparr 21db76b337 Prevent InfluxDB client from leaking TCP connections
If users properly call client.Close(), then this will make sure that
established tcp connections dont continually grow when creating new http
clients.

This fixes the case where users are creating new http clients on top of
existing _valid_ connections.

This was encountered in Telegraf when we were recreating our http
clients after getting write failures that were unrelated to the actual
connection being severed (such as typos in the retention policy, see
https://github.com/influxdata/telegraf/issues/1058)
2016-04-19 13:18:33 -06:00
Jonathan A. Sternberg 42b68d915f Return a deprecated message when IF NOT EXISTS is used
The deprecated message is now attached to a new attribute returned with
the results. This message can then be read by clients to warn a user
about upcoming changes to the query engine.

The `influx` client has already been modified to read this message and
print it out for every format except CSV.

The first warning message is a deprecated message about removing `IF NOT
EXISTS` from `CREATE DATABASE`.

The message will also be printed to the server log.

Fixes #5707.
2016-04-15 09:17:59 -04:00
Edd Robinson 592d668e1b Ensure Client is safe for concurrent use
Fixes #6287.
2016-04-12 14:23:32 +01:00
Edd Robinson 207bafae8a Create a Point from a models.Point 2016-03-14 16:59:06 +00:00
Nathaniel Cook 68f468817d add AddPoints method to v2 client 2016-03-11 10:28:05 -07:00
Phil Sorber a23f727d3c Fix golint warnings. 2016-02-10 15:00:25 -07:00
Ben Johnson 2f1e83427b Merge pull request #5617 from benbjohnson/influxdata
Rename influxdb/influxdb to influxdata/influxdb
2016-02-10 13:29:46 -07:00
Ben Johnson d9a6a7340f add canonical paths 2016-02-10 11:30:52 -07:00
Ben Johnson 5a0d1ab7c1 rename influxdb/influxdb to influxdata/influxdb
This commit changes all the import and URL references from:

    github.com/influxdb/influxdb

to:

    github.com/influxdata/influxdb
2016-02-10 10:26:18 -07:00
Phil Sorber 7d44293506 Update comments to be more idiomatic. 2016-02-09 09:39:30 -07:00
Phil Sorber ed650cf4d5 Add Ping() to v2 client. 2016-02-09 09:00:36 -07:00
Cameron Sparr df1980ebe5 Support for adding custom TLS Config for HTTP client 2016-02-04 13:09:27 -07:00
Cameron Sparr 616da49019 It _is_ recommended to send data with a timestamp
closes #5061
2015-12-15 18:33:36 -06:00
Farshid Tavakolizadeh 460275a254 go-client: changed statements' Err type to string, tagged by `error` 2015-12-08 23:28:42 +01:00
Cameron Sparr e32d97e770 Don't send data _without_ a timestamp 2015-11-12 15:27:18 -07:00
Cameron Sparr 909f5e8ae3 Small comment fixups 2015-11-12 15:18:04 -07:00
Cameron Sparr b0e9f7e844 Refactor HTTP client for consistency with UDP
This makes error handling easier across clients and more consistent.
Also eliminates the need for users to parse their own URLs first,
because that doesn't even guarantee the URLs will be correct http URLs
2015-11-12 14:22:16 -07:00
Philip O'Toole 3cab8fac02 Revert to Go 1.4.2
This is not passing 'go vet' under 1.4.2.
2015-11-11 15:48:37 -08:00
Cameron Sparr cc077f6fb0 Create a new query request for each Query 2015-11-06 15:22:42 -07:00
Cameron Sparr 7d3c84f92a Another revision to the v2 client godoc, lowercase letters all around 2015-11-06 12:21:22 -07:00
Cameron Sparr 5bcb3cbe41 Fixup the v2 client godoc examples 2015-11-06 09:59:21 -07:00
Nicholas Katsaros 8fe41e1870 Increase performance of the UDP client 2015-11-05 13:53:05 -05:00
Cameron Sparr e2db577e0f Implement a UDP client
closes #4647
2015-11-04 14:18:14 -07:00
Jason Wilder 0926b19e6b Prevent creating points with NaN float values
Float values are not supported in the existing engine and the tsm1
engines.  This changes NewPoint to return an error if a field value
contains a NaN field.  It also allows us to validate fields to prevent
other unsupported types from sneaking in through other input plugins.
2015-10-27 17:12:52 -06:00
Cameron Sparr 66a31ee9bc Add more public point functions for v2 client
Closes #4505
2015-10-19 17:55:26 -06:00
Charles Chan e0d4ccd1a7 Typo: omitt --> omit. 2015-10-17 07:30:07 -07:00
Cameron Sparr 696838a8c2 InfluxDB client v2
Closes #4387
2015-10-15 15:53:48 -06:00