You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Hans Zeller (JIRA)" <ji...@apache.org> on 2016/05/20 01:20:16 UTC
[jira] [Updated] (TRAFODION-179) LP Bug: 1274962 - EXECUTE.BATCH
update creates core-file
[ https://issues.apache.org/jira/browse/TRAFODION-179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hans Zeller updated TRAFODION-179:
----------------------------------
Fix Version/s: (was: 2.0-incubating)
2.1-incubating
> LP Bug: 1274962 - EXECUTE.BATCH update creates core-file
> --------------------------------------------------------
>
> Key: TRAFODION-179
> URL: https://issues.apache.org/jira/browse/TRAFODION-179
> Project: Apache Trafodion
> Issue Type: Bug
> Components: sql-cmp
> Reporter: Guy Groulx
> Assignee: Sandhya Sundaresan
> Priority: Critical
> Fix For: 2.1-incubating
>
>
> Using atomics suite.
> Test 10 is an update test using JDBC batch feature.
> Test 12 is a delete test using JDBC batch feature.
> Test is configured to batch 500 rows and then does execute batch. See code for update. Similar code for delete.
> /* Prepare the insert statement. */
> String sqlStmtCmd = "UPDATE " + dbTableName + " SET COL1=?, COL2=? WHERE CNT = ?";
> try {
> sqlStmt = dbConnection.prepareStatement(sqlStmtCmd);
> } catch (SQLException e) {
> log_error("Exception in update_with_rowsets\n");
> return(e.getErrorCode());
> }
> ...
> for (i = 0; i < (int)numbtmf; i++) { <== numbtmf is a passed parameter, set to 500 in my tests.
> try {
> sqlStmt.setLong(1, up_col1);
> sqlStmt.setLong(2, up_col2);
> sqlStmt.setLong(3, hv_cnt);
> sqlStmt.addBatch();
> hv_cnt++;
> if (hv_cnt >= hv_cnt2) hv_cnt = hv_cnt1; /* Need to restart. */
> } catch (SQLException e) {
> log_error("Exception in update_with_rowsets\n");
> SQLException nextException;
> nextException = e;
> retcode = e.getErrorCode();
> do {
> log_error(nextException.getMessage() + " State: " + nextException.getSQLState() + "\n");
> } while ((nextException = nextException.getNextException()) != null);
> }
> }
> beginTXN();
> try {
> resultCountL = sqlStmt.executeBatch(); <== This is where is hangs for a very long time.
> rowCnt+=resultCountL.length;
> if (resultCountL.length != numbtmf) {
> log_error("Error UPDATING!! resultCount: " + resultCountL.length + "\n");
> retcode = 1;
> } else {
> for (i = 0; i < resultCountL.length; i++) {
> if ((resultCountL[i] != 1) && (resultCountL[i] != Statement.SUCCESS_NO_INFO)) {
> log_error("Error UPDATING!! resultCount: " + resultCountL[i] + "\n");
> retcode = resultCountL[i];
> break;
> }
> }
> }
> sqlStmt.clearBatch();
> } catch (SQLException e) {
> log_error("Exception in update_with_rowsets\n");
> SQLException nextException;
> nextException = e;
> retcode = e.getErrorCode();
> do {
> log_error(nextException.getMessage() + " State: " + nextException.getSQLState() + "\n");
> } while ((nextException = nextException.getNextException()) != null);
> }
> commitTXN();
> return retcode;
> Eventually, get:
> Exception in update_with_rowsets
> Exception in update_with_rowsets
> Batch Update Failed, See next exception for details State: HY000
> Batch Update Failed, See next exception for details State: HY000
> *** ERROR[8448] Unable to access Hbase interface. Call to ExpHbaseInterface::insertRows returned error HBASE_ACCESS_ERROR(-705). Cause:
> org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=10, exceptions:
> Fri Jan 31 14:38:42 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:43 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:44 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:45 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:47 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:49 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:53 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:57 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:39:05 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:39:21 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> org.apache.hadoop.hbase.client.ServerCallable.withRetries(ServerCallable.java:183)
> org.apache.hadoop.hbase.client.transactional.TransactionalTable.put(TransactionalTable.java:306)
> org.apache.hadoop.hbase.client.transactional.RMInterface.put(RMInterface.java:155)
> org.trafodion.sql.HBaseAccess.HTableClient.insertRows(HTableClient.java:500)
> . [2014-01-31 14:39:21] State: X08CG
> *** ERROR[8448] Unable to access Hbase interface. Call to ExpHbaseInterface::insertRows returned error HBASE_ACCESS_ERROR(-705). Cause:
> org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=10, exceptions:
> Fri Jan 31 14:38:42 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:43 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:44 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:45 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:47 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:49 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:53 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:38:57 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:39:05 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> Fri Jan 31 14:39:21 UTC 2014, org.apache.hadoop.hbase.client.transactional.TransactionalTable$7@1c36686e, java.lang.NullPointerException
> org.apache.hadoop.hbase.client.ServerCallable.withRetries(ServerCallable.java:183)
> org.apache.hadoop.hbase.client.transactional.TransactionalTable.put(TransactionalTable.java:306)
> org.apache.hadoop.hbase.client.transactional.RMInterface.put(RMInterface.java:155)
> org.trafodion.sql.HBaseAccess.HTableClient.insertRows(HTableClient.java:500)
> . [2014-01-31 14:39:21] State: X08CG
> Test TSUR0500: 0 loops from 31 Jan 14 14:32:29.970 to 14:44:57.120 for 747 secs
> Get similar result when doing batch deletes.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)