Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.11.0
-
None
-
None
Description
I tried this query on some of our JSON files that are stored in a S3 Bucket, in which I tried to convert JSON objects (application, application_fee) into varchar:
SELECT CONCAT( '"', CONVERT_TO(_stg.data.application, 'JSON'), '"' , ',', '"', CONVERT_TO(_stg.data.application_fee, 'JSON'), '"' ) as JSONs FROM ( SELECT flatten(js.data) AS data FROM s3_bucket.`<PATH_TO_FILE_IN_S3>` AS js ) _stg
On some of the datasets the query failed and I got this error message
org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: UnsupportedOperationException: Unable to get holder type for minor type [LATE] and mode [OPTIONAL] Fragment 0:0 [Error Id: 5e74e125-de22-46fa-8d31-233d0fc40140
The dataset, on which the query failed looks like following:
{ "data": [ { "application": null, "application_fee": null, "amount": 1 }, { "application": { "id": "some_id", "name": "Some App", "object": "application" }, "application_fee": null, "amount": 5 } ], "has_more": false, "object": "list", "url": "/v1/charges" }
I ran some further tests on the query and found out that the query only fails at object "application_fee", which is null in both arrays of object "data". Which might explain why I never ran into this error in the other datasets (no object arrays there are null).