influxdata / influxdata/kapacitor

influxDBOut should validate key names

Open
#2,452 0 comments 0 reactions 0 assignees View on GitHub
new-feature
Dominant language
Go
Stars
2.4k
Forks
479
Avg merge
4d 16h
Merged PRs (30d)
4

Description

The InfluxDB line protocol spec [says](https://docs.influxdata.com/influxdb/v2.0/reference/syntax/line-protocol/#naming-restrictions) that names of tag keys and field keys can't start with `_`. The `influxDBOut` node should validate that the data it's pushing doesn't include any keys that violate this restriction.

To help with migration of existing scripts that write `_start` etc, we could:
1. Add a new boolean property to set "strictness" (or some other name) of the node, defaulting to `false`
2. Write the new validation logic so that if the node isn't strict, invalid keys are dropped instead of the whole data point being thrown out

Contributor guide

Open the contributing guide

Research direction

Start by locating the influxDBOut node and the code that assembles tag and field keys for InfluxDB line protocol. Define the validation behavior and strictness setting described in the issue, then verify that invalid keys are either dropped or reject the data point according to that setting.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.