influxdb-client-go
influxdb-client-go copied to clipboard
"influxdb2client E! Write error: json: cannot unmarshal string into Go struct field Error.Err of type error" in logs
Specifications
- Client Version: Telegraf 1.25.2
- InfluxDB Version: InfluxDB v2.6.1
- Platform: Debian 11
Steps to reproduce
We are writing like this:
influxClient := influxdb2.NewClient(w.url, w.authString)
writeAPI := influxClient.WriteAPI("", "")
for {
select {
case e := <-w.influxCh:
writeAPI.WritePoint(influxdb2.NewPoint(e.measurement, e.tags, e.fields, e.time))
case <-w.quit:
writeAPI.Flush()
return
}
}
Appears in our logs occasionally. Seems like an error is being returned to the write method, but the structure is incorrect for unmarshalling. Don't know exactly how to grab more data without forking the package and adding some prints.
Expected behavior
No errors are displayed
Actual behavior
Additional info
No response
found this in the telegraf agent logs:
Error parsing the request body: metric parse error: expected field at 1:214: "name_of_metric,foo=bar,main=true count=1i,reason="503 Service Unavailable: {\"jsonrpc\":\"2.0\",\"error\":{\"code\":-32011,\"message\":\"no backends available for method\"},\"id\":4465}\n"
Looks like maybe the issue is due to the trailing newline.
Looks like maybe the issue is due to the trailing newline.
Line protocol is newline separated so you would need to escape it