apache / apache/pinot

[minor] /tableConfigs/validate Endpoint Marks "comparisonColumn" as Unrecognized Property

Open
#11,408 4 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

After https://github.com/apache/pinot/pull/10234/files, we started supporting both `comparisonColumn` and `comparisonColumns` as config properties. But table config validate API call marks the comparisonColumn as a unrecognizedProperty.

If the table-config has something like:

```
"upsertConfig": {
"mode": "PARTIAL",
"partialUpsertStrategies": {},
"defaultPartialUpsertStrategy": "OVERWRITE",
"comparisonColumn": "upsert_ts",
"hashFunction": "NONE"
},
```

Then we get:
```
....
"upsertConfig": {
"mode": "PARTIAL",
"hashFunction": "NONE",
"partialUpsertStrategies": {},
"defaultPartialUpsertStrategy": "OVERWRITE",
"enableSnapshot": false,
"comparisonColumns": [
"upsert_ts"
]
},
"isDimTable": false
},
"unrecognizedProperties": {
"/realtime/upsertConfig/comparisonColumn": "upsert_ts"
}
```

Contributor guide

Open the contributing guide

Research direction

Start at the /tableConfigs/validate endpoint and trace validation of the upsertConfig object, using the example configuration with comparisonColumn as the reproduction case. Done means the endpoint accepts comparisonColumn without reporting /realtime/upsertConfig/comparisonColumn as an unrecognized property while retaining the equivalent comparisonColumns value.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.