Splunk Dev

Array and Boolean type in KVStore causes validation errors

MCG_RasmusToelh
Engager

Hi we are using boolean and array as types for our KVStores. It have always worked but causes validation failures in appinspect and errors in search.log.

Changing boolean to bool is easy, but what about array isn't it supported at all?

 

We found the boolean, array and cidr types in the REST kvstore docs: https://docs.splunk.com/Documentation/Splunk/8.1.1/RESTREF/RESTkvstore#Arrays

 

But these developer docs says only 'number | bool | string | time ) ' is allowed:

https://dev.splunk.com/enterprise/docs/developapps/manageknowledge/kvstore/usingconfigurationfiles

 

So how and where can we use the Array type?

 

08-19-2020 08:58:41.873 +0200 ERROR CollectionConfigurationProvider - Invalid field type='boolean' for field='enabled' in collection='ux_applications' and app='mcg_uxm'
08-19-2020 08:58:41.873 +0200 ERROR CollectionConfigurationProvider - Invalid field type='array' for field='processes' in collection='ux_applications' and app='mcg_uxm'
08-19-2020 08:58:41.873 +0200 ERROR CollectionConfigurationProvider - Invalid field type='array' for field='tags' in collection='ux_applications' and app='mcg_uxm'

 

 

collections.conf

[ux_applications]
field.name = string
field.customer = string
field.contact = string
field.external_analysis_link_url = string
field.external_analysis_link_name = string
field.external_trace_link_url = string
field.external_trace_link_name = string
field.type = string
field.storage_used_mb = string
field.storage_quota_mb = string
field.tags = array
field.processes = array
field.enabled = boolean
replicate = true
Labels (1)
0 Karma
1 Solution

manjunathmeti
Champion

hi @MCG_RasmusToelh ,

 

Only data types number, bool, string, and time are enforced on the field values. The array type is not enforceable so does not need to be specified. 

Below statement is from collections.conf documentation

field.<name> = number|bool|string|time
* Field type for a field called <name>.
* If the data type is not provided, the data type is inferred from the provided JSON data type.

View solution in original post

manjunathmeti
Champion

hi @MCG_RasmusToelh ,

 

Only data types number, bool, string, and time are enforced on the field values. The array type is not enforceable so does not need to be specified. 

Below statement is from collections.conf documentation

field.<name> = number|bool|string|time
* Field type for a field called <name>.
* If the data type is not provided, the data type is inferred from the provided JSON data type.

Get Updates on the Splunk Community!

Built-in Service Level Objectives Management to Bridge the Gap Between Service & ...

Wednesday, May 29, 2024  |  11AM PST / 2PM ESTRegister now and join us to learn more about how you can ...

Get Your Exclusive Splunk Certified Cybersecurity Defense Engineer Certification at ...

We’re excited to announce a new Splunk certification exam being released at .conf24! If you’re headed to Vegas ...

Share Your Ideas & Meet the Lantern team at .Conf! Plus All of This Month’s New ...

Splunk Lantern is Splunk’s customer success center that provides advice from Splunk experts on valuable data ...