Aman Sinha created IMPALA-10566: ----------------------------------- Summary: Change the default value of FETCH_ROWS_TIMEOUT_MS to 0 Key: IMPALA-10566 URL: https://issues.apache.org/jira/browse/IMPALA-10566 Project: IMPALA Issue Type: Bug Components: Backend Affects Versions: Impala 3.4.0 Reporter: Aman Sinha
The current default value of FETCH_ROWS_TIMEOUT_MS is 10 secs. This was done in IMPALA-7312 and IMPALA-8962 to introduce a non-blocking fetch() api behavior such that clients are not blocked indefinitely. In some cases, especially with the supported JDBC/ODBC drivers, this can cause a regression by returning either empty or partial results to the client based on the following sequence: * Client starts to fetch rows * Impala is unable to produce rows in 10s. so to not make the client block, Impala returns an empty result set with hasMoreRows=true. * Query’s state can be either RUNNING or FINISHED * Client sees empty result set, ignores hasMoreRows=true * Client closes the query thinking it got the whole result set This issue was observed in internal testing and is also reported in the following JIRA: https://issues.apache.org/jira/browse/IMPALA-8962?focusedCommentId=17240474&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17240474 In contrast, impala-shell works correctly and does not have this partial results problem. Since this issue impacts various drivers, it is best to change the default value of FETCH_ROWS_TIMEOUT_MS to 0 to revert to the blocking behavior. Users can opt-in by changing the value. In the meantime, driver programs also need to be updated to allow the non-blocking fetch behavior. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org