link3280 commented on issue #4806: URL: https://github.com/apache/kyuubi/issues/4806#issuecomment-1667111918
Reopen the issue because after a discussion with @pan3793 , we think the semantic problem is acceptable: - For Beeline users, beeline supports incremental mode which pulls rows in a micro-batch manner. If no row is produced, Beeline will block on `result.next()` until there are some rows or the timeout is reached (no timeout by default). - For JDBC users, calling `result.next()` now could be long-blocking, and users could either set a fetch timeout or interrupt the thread externally. However, we still need to think about what to do if the timeout happens. There should be 3 approaches: 1. throw a timeout exception with `result.next()` 2. return `false` for `result.next()` which indicates there are no more rows (which is technically not true). 3. return `true` for `result.next()` but the current row is set to null which indicates there are no rows yet (which is against normal use cases and may lead to surprises). Personally, I lean toward approach 1. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
