influxdata / influxdata/kapacitor
Unsigned integer support
- Dominant language
- Go
- Stars
- 2.4k
- Forks
- 479
- Avg merge
- 4d 16h
- Merged PRs (30d)
- 4
Description
I have an error message on InfluxDB/Kapacitor subscription working with unsigned integers field type.
The unsigned field is stored OK in Influxdb but I have this message on InfluxDB/Subscriber:
influxdb_1 | ts=2019-04-18T10:40:40.857867Z lvl=info msg="unable to parse 'measurement1,tag=text temperature_u=1u 1555584040856455299': invalid number\n" log_id=0Et00vtl000 service=subscriber
Not sure if Kapacitor should support unsigned yet or what is happening.
UPDATE: Unsigned integers not supported, 400 error on Kapacitor side
kapacitor | ts=2019-04-18T14:20:10.039Z lvl=info msg="http request" service=http host=172.29.0.6 username=- start=2019-04-18T14:20:10.024705758Z method=POST uri=/write?consistency=&db=telegraf&precision=ns&rp=autogen protocol=HTTP/1.1 status=400 referer=- user-agent=InfluxDBClient request-id=12ad0e16-61e5-11e9-8083-000000000000 duration=14.282588ms
Testing scenario:
I have an InfluxDB supporting unsigned integer running (build with uint flag), kapacitor is subscribed.
New write, field with 'u' suffix.
curl -i -XPOST "http://localhost:8086/write?db=TEST" --data-binary 'measurement1,tag=text temperature_u=1u'
Result: Write OK but error message on service subscriber.
I have more details to reproduce if you need but i'm pretty sure you know what im talking about.
Contributor guide
Research direction
Start at the subscriber's line-protocol parsing path and the /write request shown in the reproduction; compare how the `u`-suffixed field is handled. Done means the unsigned-integer scenario no longer produces the invalid-number and HTTP 400 errors, with coverage for that request path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100