-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.9 Release Cluster Write Errors #2960
Comments
@Jhors2 What do you see if you query the data? Does it return ints or floats? |
@jwilder The queries (I performed one across each measurement) always return ints. name: cpu |
Would you be able to post a sequence of steps to recreate this? E.g. create database, RP, your initial write and then some sample writes that fail. Not sure what's going on. |
Sure: I tested this by replaying legitimate data against the DB and I am getting a lot of failures like this with seemingly random "value" numbers. I should also mention this was working in RC31 and prior. |
Fixes #2960 Integers were were written back to line protocol using strconv.FormatFloat incorrectly. Large integers are written in scientific notation which causes their type to change to a float when parsed back.
I am receiving the following message every time I attempt to write points into my DB:
[write] 2015/06/12 06:57:13 write failed for shard 3 on node 1: error code 1: write shard 3: field type conflict: input field "value" is type int64, already exists as type %!s(influxql.DataType=1)
[write] 2015/06/12 06:57:13 write failed for shard 3 on node 2: error code 1: write shard 3: field type conflict: input field "value" is type int64, already exists as type %!s(influxql.DataType=1)
The interesting thing is that all of my values are scraped before writing to make sure some decimal value has not returned. I also dropped my database entirely, created a new one then manually instantiated my measurements with int type to attempt to prevent float type from being set as follows:
curl "http://influx1.internal:8086/write?db=testdb" -d 'cpu value=10 1000000000001'
After performing the above, whenever a write is made to another node it is for some reason created with float type from what I can tell.
Any thoughts here?
The text was updated successfully, but these errors were encountered: