-
Notifications
You must be signed in to change notification settings - Fork 16.1k
Closed
Labels
#bugBug reportBug reportdata:connect:hiveRelated to HiveRelated to Hivedata:connect:oracleRelated to OracleRelated to Oracle
Description
I have setup an Oracle Cloud Big Data Service to privide a Hive. I want to connect it.
How to reproduce the bug
- Go to 'Connect a database'
- Choose 'Apache Hive' from 'SUPPORTED DATABASES' dropdown
- Input the SQLALCHEMY URI as
hive://hive@168.138.166.53:10000 - Click "Test Connection", it will success
- Click "Connect"
- See error
Expected results
Silent success
Actual results
An error popup
An error occurred while fetching databases: Object of type bytes is not JSON serializable
Screenshots
Environment
(please complete the following information):
- browser type and version: MS Edge
- superset version: master
- python version: docker image inline
- node.js version: docker image inline
- any feature flags active:
Checklist
Make sure to follow these steps before submitting your issue - thank you!
- I have checked the superset logs for python stacktraces and included it here as text if there are any.
- I have reproduced the issue with at least the latest released version of superset.
- I have checked the issue tracker for the same issue and I haven't found one similar.
Additional context
python stacktraces
superset_app | 2022-12-02 12:45:56,017:INFO:pyhive.hive:SHOW SCHEMAS
superset_app | 2022-12-02 12:45:56,017:DEBUG:pyhive.hive:TExecuteStatementReq(sessionHandle=TSessionHandle(sessionId=THandleIdentifier(guid=b'\xff\xeeQ\xdc0\xe2F\xc7\xbe\xd7hU\xad\x103\xb1', secret=b'\xdeaVP\xc6\x07G\xc3\x823DOG\x9b\xc9\x02')), statement='SHOW SCHEMAS', confOverlay=None, runAsync=False, queryTimeout=0)
superset_app | 2022-12-02 12:45:56,110:DEBUG:pyhive.hive:TExecuteStatementResp(status=TStatus(statusCode=0, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None), operationHandle=TOperationHandle(operationId=THandleIdentifier(guid=b'\xefx\\\x88\xa1\xd8@m\x9a=\x89\x1f\xd6I\x95\x81', secret=b'-K\x01\x93G\x11N\x91\x8d\xc3\xce\x87\xd9\x19\x14\xfc'), operationType=0, hasResultSet=True, modifiedRowCount=None))
superset_app | 2022-12-02 12:45:56,111:DEBUG:pyhive.hive:TGetResultSetMetadataResp(status=TStatus(statusCode=0, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None), schema=TTableSchema(columns=[TColumnDesc(columnName='database_name', typeDesc=TTypeDesc(types=[TTypeEntry(primitiveEntry=TPrimitiveTypeEntry(type=7, typeQualifiers=None), arrayEntry=None, mapEntry=None, structEntry=None, unionEntry=None, userDefinedTypeEntry=None)]), position=1, comment='from deserializer')]))
superset_app | 2022-12-02 12:45:56,113:DEBUG:pyhive.hive:TFetchResultsResp(status=TStatus(statusCode=0, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None), hasMoreRows=False, results=TRowSet(startRowOffset=0, rows=[], columns=[TColumn(boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=TStringColumn(values=['ctm', 'default', 'information_schema', 'sys'], nulls=b'\x00'), binaryVal=None)], binaryColumns=None, columnCount=None))
superset_app | 2022-12-02 12:45:56,113:DEBUG:pyhive.hive:TFetchResultsResp(status=TStatus(statusCode=0, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None), hasMoreRows=False, results=TRowSet(startRowOffset=0, rows=[], columns=[TColumn(boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=TStringColumn(values=[], nulls=b'\x00'), binaryVal=None)], binaryColumns=None, columnCount=None))
superset_app | 2022-12-02 12:45:56,123:DEBUG:pyhive.hive:TCloseOperationResp(status=TStatus(statusCode=0, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None))
superset_app | 2022-12-02 12:45:56,126:DEBUG:pyhive.hive:TCloseSessionResp(status=TStatus(statusCode=0, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None))
superset_app | 2022-12-02 12:45:56,165:ERROR:root:Object of type bytes is not JSON serializable
superset_app | Traceback (most recent call last):
superset_app | File "/usr/local/lib/python3.8/site-packages/flask_appbuilder/api/__init__.py", line 86, in wraps
superset_app | return f(self, *args, **kwargs)
superset_app | File "/app/superset/views/base_api.py", line 114, in wraps
superset_app | raise ex
superset_app | File "/app/superset/views/base_api.py", line 111, in wraps
superset_app | duration, response = time_function(f, self, *args, **kwargs)
superset_app | File "/app/superset/utils/core.py", line 1604, in time_function
superset_app | response = func(*args, **kwargs)
superset_app | File "/app/superset/utils/log.py", line 265, in wrapper
superset_app | value = f(*args, **kwargs)
superset_app | File "/app/superset/views/base_api.py", line 84, in wraps
superset_app | return f(self, *args, **kwargs)
superset_app | File "/app/superset/databases/api.py", line 281, in post
superset_app | return self.response(201, id=new_model.id, result=item)
superset_app | File "/usr/local/lib/python3.8/site-packages/flask_appbuilder/api/__init__.py", line 704, in response
superset_app | _ret_json = jsonify(kwargs)
superset_app | File "/usr/local/lib/python3.8/site-packages/flask/json/__init__.py", line 361, in jsonify
superset_app | f"{dumps(data, indent=indent, separators=separators)}\n",
superset_app | File "/usr/local/lib/python3.8/site-packages/flask/json/__init__.py", line 139, in dumps
superset_app | rv = _json.dumps(obj, **kwargs)
superset_app | File "/usr/local/lib/python3.8/json/__init__.py", line 234, in dumps
superset_app | return cls(
superset_app | File "/usr/local/lib/python3.8/json/encoder.py", line 199, in encode
superset_app | chunks = self.iterencode(o, _one_shot=True)
superset_app | File "/usr/local/lib/python3.8/json/encoder.py", line 257, in iterencode
superset_app | return _iterencode(o, 0)
superset_app | File "/usr/local/lib/python3.8/site-packages/flask/json/__init__.py", line 57, in default
superset_app | return super().default(o)
superset_app | File "/usr/local/lib/python3.8/json/encoder.py", line 179, in default
superset_app | raise TypeError(f'Object of type {o.__class__.__name__} '
superset_app | TypeError: Object of type bytes is not JSON serializable
nferrario, SvenThies and terrancesnyderrusackas
Metadata
Metadata
Assignees
Labels
#bugBug reportBug reportdata:connect:hiveRelated to HiveRelated to Hivedata:connect:oracleRelated to OracleRelated to Oracle

