[ https://issues.apache.org/jira/browse/HIVE-5060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13760419#comment-13760419 ]
Hudson commented on HIVE-5060: ------------------------------ FAILURE: Integrated in Hive-trunk-h0.21 #2314 (See [https://builds.apache.org/job/Hive-trunk-h0.21/2314/]) HIVE-5060: JDBC driver assumes executeStatement is synchronous (Henry Robinson via Brock Noland) (brock: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1520604) * /hive/trunk/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java > JDBC driver assumes executeStatement is synchronous > --------------------------------------------------- > > Key: HIVE-5060 > URL: https://issues.apache.org/jira/browse/HIVE-5060 > Project: Hive > Issue Type: Bug > Components: JDBC > Affects Versions: 0.11.0 > Reporter: Henry Robinson > Fix For: 0.12.0 > > Attachments: > 0001-HIVE-5060-JDBC-driver-assumes-executeStatement-is-sy.patch, > HIVE-5060.patch > > > The JDBC driver seems to assume that {{ExecuteStatement}} is a synchronous > call when performing updates via {{executeUpdate}}, where the following > comment on the RPC in the Thrift file indicates otherwise: > {code} > // ExecuteStatement() > // > // Execute a statement. > // The returned OperationHandle can be used to check on the > // status of the statement, and to fetch results once the > // statement has finished executing. > {code} > I understand that Hive's implementation of {{ExecuteStatement}} is blocking > (see https://issues.apache.org/jira/browse/HIVE-4569), but presumably other > implementations of the HiveServer2 API (and I'm talking specifically about > Impala here, but others might have a similar concern) should be free to > return a pollable {{OperationHandle}} per the specification. > The JDBC driver's {{executeUpdate}} is as follows: > {code} > public int executeUpdate(String sql) throws SQLException { > execute(sql); > return 0; > } > {code} > {{execute(sql)}} discards the {{OperationHandle}} that it gets from the > server after determining whether there are results to be fetched. > This is problematic for us, because Impala will cancel queries that are > running when a session executes, but there's no easy way to be sure that an > {{INSERT}} statement has completed before terminating a session on the client. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira