I am trying to set the accelerationRefreshPolicy method of a promoted dataset to be INCREMENTAL.
However, I am getting the following error: “Missing type id when trying to resolve subtype of [simple type, class com.dremio.dac.api.CatalogEntity]: missing type id property ‘entityType’\n at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 1]”
I realise that it seems a simple enough fix: Specify the entityType for the dataset, but when checking the body, the entityType is set:
My steps thusfar has been:
Use GET to retrieve the “catalog/by-path/” end point to retrieve the dataset profile
Check the accelerationRefreshPolicy method in the retrieved dataset profile (NULL in this case for some reason)
Add the accelerationRefreshPolicy structure to the dataset profile with the (refreshPeriodMs, gracePeriodMs & method)
Send the update with put (api/v3/catalog/{id})
WHen I inspect the dataset profile object, I do see the entityType is set as dataset, am I perhaps missing something obvious?
If I do a GET for http://localhost:9047/api/v3/catalog/by-path/nas/folder, I see it as a dataset.
Regarding your body, the problem seems to be that everything is an array (“entityType”:[“dataset”]) for some reason? It should be “entityType”:“dataset”,. An example request:
Apologies, I missed that the R json parser that I used to print the object showed the objects as arrays. Below is the results that the python scrip generated when I send in the body and this is what is sent in the put:
I suspect that your original note regarding the JSON format might have been on to something. I am checking the underlying function on my side for the put and will let you know if the problem persists.