Dremio API Call on Source Inconsistant

Hey there. So I created a small program to update the WIKI in Dremio. In my environment, when I call the API for a Source, it provides as part of the result an array of “children” that includes the Schemas within that source.
Example:
“children”: [
{
“id”: “9c4288b8-ff5b-4701-afab-9ce2262f545d”,
“path”: [
“Loyalty_Oracle”,
“CTXSYS”
],
“tag”: “N6GhFlwKYEQ=”,
“type”: “CONTAINER”,
“containerType”: “FOLDER”
}, …

But when I try this on a customer’s environment, it has no “children”.

In this case, I’m testing with Oracle sources from both sides. I think permissions are OK, as I can manually click on those sources and drill down into schemas, objects.

I did notice that in the result of the one with no children I see these two:
“accessControlList”: {},
“permissions”: []

Am I missing something?

@haystraw, which API endpoint are you calling? GET /catalog/by-path or id?

Or an endpoint related to the wiki?

Also, which edition (Community, OSS or Enterprise) and which version of Dremio are you using?

Getting by ID.
Called the initial "get catalog, to get the source ID’s. Then called those by ID.

I’m testing on a “free” version (community). Customer I’m building for has a proper license (I’m guessing they have Enterprise).

@haystraw,

In the customer’s environment, when you log in, do you see the “Admin” label in the upper right hand corner? That is to say, are you an Admin?

Also, what version of Dremio (4.x.x) is the customer using?

Versions:
Customer:
Build 4.2.2-202004211133290458-b550b6fa
Edition Enterprise Edition
Build Time 04/21/2020 07:45:04
Change Hash b550b6fa48eef9fa27c499bd9dc70c55eca13dc0
Change Time 04/21/2020 02:22:56

My Test
Build 4.8.0-202009180238090394-b0a98b73
Edition Community Edition
Build Time 09/17/2020 21:49:56
Change Hash b0a98b73337c7677df87d205b80555f28fe31d7a
Change Time 09/17/2020 19:18:18

So, I was using an admin account on my version, and a non-admin account on the customer’s (Although I could navigate in those sources for that account).

But now I’ve tried it with an admin account for the customer. With the same results.
I run an API call that gets the sources, successfully, but when I then do a subsequent call for the individual sources (expecting to find the children of that source), there is no “children” array.
Example call: /api/v3/catalog/0a43c26a-24c7-40fc-8a59-9fcfc17de76f
Example Response:
{
“entityType”: “source”,
“config”: {
“hostname”: “usdfw23db34v”,
“port”: “1521”,
“instance”: “OLTD19”,
“username”: “MINAEDC”,
“password”: “xxx”,
“authenticationType”: “MASTER”,
“fetchSize”: 200,
“useSsl”: false,
“useTimezoneAsRegion”: true,
“useLegacyDialect”: false,
“includeSynonyms”: false
},
“id”: “0a43c26a-24c7-40fc-8a59-9fcfc17de76f”,
“tag”: “DJkZSrpMNMg=”,
“type”: “ORACLE”,
“name”: “MINA”,
“createdAt”: “2020-10-14T19:59:10.604Z”,
“metadataPolicy”: {
“authTTLMs”: 86400000,
“namesRefreshMs”: 3600000,
“datasetRefreshAfterMs”: 3600000,
“datasetExpireAfterMs”: 10800000,
“datasetUpdateMode”: “PREFETCH_QUERIED”,
“deleteUnavailableDatasets”: true,
“autoPromoteDatasets”: false
},
“accelerationGracePeriodMs”: 10800000,
“accelerationRefreshPeriodMs”: 3600000,
“accelerationNeverExpire”: false,
“accelerationNeverRefresh”: false,
“accessControlList”: {},
“permissions”: []
}

But on My “Community Edition” Version, my sample output looks like this (with a children array):
{
“entityType”: “source”,
“config”: {
“hostname”: “10.132.4.5”,
“port”: “1521”,
“instance”: “orcl”,
“username”: “loyalty”,
“password”: “xxx”,
“authenticationType”: “MASTER”,
“fetchSize”: 200,
“useSsl”: false,
“useTimezoneAsRegion”: true,
“useLegacyDialect”: false,
“includeSynonyms”: false,
“enableExternalQuery”: false
},
“state”: {
“status”: “good”,
“suggestedUserAction”: “”,
“messages”: []
},
“id”: “12f11d4b-c52c-4dfa-a2d4-dafc07d39536”,
“tag”: “WLO3Tw5s5IU=”,
“type”: “ORACLE”,
“name”: “Loyalty_Oracle”,
“createdAt”: “2020-09-21T17:25:28.879Z”,
“metadataPolicy”: {
“authTTLMs”: 86400000,
“namesRefreshMs”: 3600000,
“datasetRefreshAfterMs”: 3600000,
“datasetExpireAfterMs”: 10800000,
“datasetUpdateMode”: “PREFETCH_QUERIED”,
“deleteUnavailableDatasets”: true,
“autoPromoteDatasets”: false
},
“accelerationGracePeriodMs”: 10800000,
“accelerationRefreshPeriodMs”: 3600000,
“accelerationNeverExpire”: false,
“accelerationNeverRefresh”: false,
“children”: [
{
“id”: “9c4288b8-ff5b-4701-afab-9ce2262f545d”,
“path”: [
“Loyalty_Oracle”,
“CTXSYS”
],
“tag”: “N6GhFlwKYEQ=”,
“type”: “CONTAINER”,
“containerType”: “FOLDER”
}
],
“allowCrossSourceSelection”: false
}