-
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
[Feature request] Support dropping conflicting types on writes #4856
Comments
PM call required @pauldix |
Other systems in the area of time-series and indexing systems, which determine value types on the fly, support similar options. That said, InfluxDB does not have a single source-of-truth for field types, so even with this in place, one could still have differences between shards. The only way to truly lock down types is through #3006 |
This one actually isn't an issue anymore now that the line protocol requires a trailing |
I was thinking about the case @pauldix where one builds and runs a service for other uses (multi-tenant SaaS, in-house monitoring system etc), and InfluxDB is not directly accessible to the users. The designers and operators may wish to offer this flexibility to their users. For high-volume systems, the code that accepts the data for ingestion may be decoupled from InfluxDB (a Kafka-based pipeline is the canonical example these days). The system returns OK to the client once the pipeline accepts the data. By the time it is detected that 1 point in the batch of 10K points is bad, the system components upstream may have responded OK to the client. The client sees the entire batch of 10K points missing, when they might have preferred losing just 1 point. |
I do need to check the latest code to determine how much of the batch would actually be affected (assuming it's all destined for a single shard -- perhaps all good points are actually written). |
The other endpoints and the In the SQL world, this is analogous to |
We do already have the partial write semantics since writes can hit multiple shards. So we'd just need to push it down to the shard level. |
Just got bit by this. Had some hosts which were writing one field of a single measurement as a different type than other hosts were. With the way telegraf works, this was causing the majority of our metrics to go missing (even completely different measurements than the one that was erroring) as it does a batch write, and only the metrics before the bad one were getting written (and the bad one was near the top of the batch). |
Any status on this? We're writing in batches of 1 point to avoid potentially losing data because of this. |
Started with #3460
Should we support an option at the shard-level to simply drop (and count) points that conflict by type? if set and if a batch of data contains 1000s of points, but one point is of the wrong type, should the system drop the point, and return success?
The text was updated successfully, but these errors were encountered: