Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
TCLIService's FetchResults might return an empty result set, but with hasMoreRows=true. In that case the driver ignores the flag hasMoreRows and thinks it is the end of the result stream, causing data loss.
I've seen this when the Hive JDBC driver was used to connect to Impala. IMPALA-7312 introduced a timeout on FetchResults(). If Impala cannot produce rows in the given timeout then it returns an empty result set, but setting hasMoreRows=true. However, the Hive JDBC driver interprets it as the end of the result stream and closes the operation.
I think if hasMoreRows=true then the Hive JDBC driver should issue FetchResults() again.
Attachments
Issue Links
- links to