influxdata / influxdb-client-python

InfluxDB 2.0 python client
https://influxdb-client.readthedocs.io/en/stable/
MIT License
724 stars 187 forks source link

Should I retry if get error "hinted handoff queue not empty"? #571

Open hongbo-miao opened 1 year ago

hongbo-miao commented 1 year ago

We are using InfluxDB Enterprise, I can understand how hinted handoff queue works.

And if we see this error "hinted handoff queue not empty" in the data node log, it is fine.

Because based on this

This error is informational only and does not necessarily indicate a problem in the cluster. It indicates that the node handling the write request currently has data in its local hinted handoff queue for the destination node. Coordinating nodes will not attempt direct writes to other nodes until the hinted handoff queue for the destination node has fully drained.

So the data is still in current data node, and just won't sync to the other node until the hinted handoff queue in the other node clear, it will try later.

Here is my question, we are using this influxdb-client-python to write data. I am wondering if we get the same error from this Python client which returns from data node. In this case, it means the data has not been written to InfluxDB successfully and need retry, right? Thanks!

(500)
Reason: Internal Server Error
HTTP response headers: ...
HTTP response body: b'{"error":"write failed: hinted handoff queue not empty"}\n'