updated docs with behavior for empty collections in pod template selector config (#17464)

This commit is contained in:
Kiran Gadhave 2024-11-12 14:21:27 -07:00 committed by GitHub
parent 1f3b1f85f9
commit 1dbd005df6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -599,6 +599,40 @@ Druid selects the pod templates as follows:
In this example, if there is an `index_kafka` task for the `wikipedia` datasource with the tag `userProvidedTag: tag1`,
Druid selects the pod template `podSpecWithHighMemRequests.yaml`.
In the above example, for selection key `podSpec1` we didn't specify task `type`. This is equivalent to setting `type` to `null` or an empty array.
All three examples below are equivalent.
- Not setting `type`
```json
{
"selectionKey": "podSpec1",
"context.tags": { "userProvidedTag": ["tag1", "tag2"] },
"dataSource": ["wikipedia"]
}
```
- Setting `type` to `null`
```json
{
"selectionKey": "podSpec1",
"context.tags": { "userProvidedTag": ["tag1", "tag2"] },
"dataSource": ["wikipedia"],
"type": null
}
```
- Setting `type` to an empty array
```json
{
"selectionKey": "podSpec1",
"context.tags": { "userProvidedTag": ["tag1", "tag2"] },
"dataSource": ["wikipedia"],
"type": []
}
```
In all the above cases, Druid will match the selector to any value of task type. Druid applies similar logic for `dataSource`. For `context.tags` setting `null` or an empty object `{}` is equivalent.
### Properties
|Property| Possible Values | Description |Default|required|
|--------|-----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------|--------|