Details
Description
Impalad coordinators can act as HiveServer2 since they implement the HS2 APIs.
Currently, we just support 3 info types for the HS2 GetInfo() API: CLI_SERVER_NAME, CLI_DBMS_NAME, CLI_DBMS_VER.
https://github.com/apache/impala/blob/11a9861ec695fe62b39095940514b28a8c684484/be/src/service/impala-hs2-server.cc#L468-L474
We can add more to be compatible with Hive, e.g. CLI_MAX_COLUMN_NAME_LEN, CLI_MAX_TABLE_NAME_LEN, CLI_MAX_SCHEMA_NAME_LEN, CLI_ODBC_KEYWORDS.
https://github.com/apache/hive/blob/4903585a34ae44bb3fec4207b5acab63f6bfc8c1/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java#L501-L508
Note that CLI_ODBC_KEYWORDS is a new type of emun TGetInfoType added in HIVE-17765 which is not in our common/thrift/hive-1-api/TCLIService.thrift
We can add CLI_ODBC_KEYWORDS and other new types to our TCLIService.thrift file.
New tests can be added in tests/hs2/test_hs2.py
Attachments
Issue Links
- relates to
-
IMPALA-10120 Beeline hangs when connecting to coordinators
- Resolved