You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@hive.apache.org by GitBox <gi...@apache.org> on 2022/05/26 08:51:17 UTC
[GitHub] [hive] veghlaci05 opened a new pull request, #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
veghlaci05 opened a new pull request, #3325:
URL: https://github.com/apache/hive/pull/3325
### What changes were proposed in this pull request?
In org.apache.hadoop.hive.metastore.txn.TxnHandler#compact() use the java.sql.PreparedStatement#setXXX methods instead of the org.apache.hadoop.hive.metastore.tools.SQLGenerator#prepareStmtWithParameters() method.
### Why are the changes needed?
The SQL statement modified by HIVE-26107 in org.apache.hadoop.hive.metastore.txn.TxnHandler#compact is not working with Postgres DB. org.apache.hadoop.hive.metastore.tools.SQLGenerator#prepareStmtWithParameters() can handle only string parameters.
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
Manually and through unit tests
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887685084
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3712,25 +3712,26 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
- List<String> params = new ArrayList<>();
StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
append(" (\"CQ_STATE\" IN(").
append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
append(" AND \"CQ_DATABASE\"=?").
append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
if(rqst.getPartitionname() == null) {
sb.append("\"CQ_PARTITION\" is null");
} else {
sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
}
- pst = sqlGenerator.prepareStmtWithParameters(dbConn, sb.toString(), params);
+ pst = dbConn.prepareStatement(sqlGenerator.addEscapeCharacters(sb.toString()));
+ pst.setLong(1, tblValidWriteIds.getHighWatermark());
+ pst.setString(2, rqst.getDbname());
+ pst.setString(3, rqst.getTablename());
+ if(rqst.getPartitionname() != null) {
Review Comment:
nit: space
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887809222
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,125 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
-
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
-
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
Review Comment:
no need for an extra try, you could initialize dbConn and stmt in a single try:
````
try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
Statement stmt = dbConn.createStatement()) {
````
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887686514
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3746,7 +3747,7 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
}
close(rs);
Review Comment:
could we wrap prep statement in try-catch so no explicit close is required
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ merged pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ merged PR #3325:
URL: https://github.com/apache/hive/pull/3325
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887809222
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,125 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
-
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
-
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
Review Comment:
no need for an extra try, you could initialize dbConn and stmt in single try:
````
try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
Statement stmt = dbConn.createStatement()) {
````
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887804398
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,125 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
-
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
-
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
+ try (Statement stmt = dbConn.createStatement()) {
+
Review Comment:
nit: new line
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r888700266
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,125 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
-
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
-
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
Review Comment:
i've missed the. rollback part
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] veghlaci05 commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
veghlaci05 commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887852145
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,125 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
-
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
-
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
Review Comment:
I have googled for it before splitting, and this approach was the suggested one. if you check the java [spec](https://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.20.3.2), the extended try-with -resources construct is translated to a nested try-catch. The inner try-catch is responsible for closing the resources, so when the outer catch clause is executed (`dbConn.rollback();`), the connection object should be already closed. So as I understand, you cannot execute code in the catch/finally blocks which require the resource to be open. Did I miss something here?
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887702617
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3712,25 +3712,26 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
- List<String> params = new ArrayList<>();
StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
append(" (\"CQ_STATE\" IN(").
append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
append(" AND \"CQ_DATABASE\"=?").
append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
if(rqst.getPartitionname() == null) {
sb.append("\"CQ_PARTITION\" is null");
} else {
sb.append("\"CQ_PARTITION\"=?");
Review Comment:
no need to check explicitly for null, you can use `pstmt.setObject()`
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r888707129
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,127 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
+ try (Statement stmt = dbConn.createStatement()) {
+
+ long id = generateCompactionQueueId(stmt);
+
+ GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
+ Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
+ final ValidCompactorWriteIdList tblValidWriteIds =
+ TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
+ LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
+
+ StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
+ append(" (\"CQ_STATE\" IN(").
+ append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
+ append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
+ append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
+ append(" AND \"CQ_DATABASE\"=?").
+ append(" AND \"CQ_TABLE\"=?").append(" AND ");
+ if(rqst.getPartitionname() == null) {
+ sb.append("\"CQ_PARTITION\" is null");
+ } else {
+ sb.append("\"CQ_PARTITION\"=?");
+ }
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (PreparedStatement pst = dbConn.prepareStatement(sqlGenerator.addEscapeCharacters(sb.toString()))) {
+ pst.setLong(1, tblValidWriteIds.getHighWatermark());
+ pst.setString(2, rqst.getDbname());
+ pst.setString(3, rqst.getTablename());
+ if (rqst.getPartitionname() != null) {
+ pst.setString(4, rqst.getPartitionname());
+ }
+ LOG.debug("Going to execute query <" + sb + ">");
+ try (ResultSet rs = pst.executeQuery()) {
+ if(rs.next()) {
+ long enqueuedId = rs.getLong(1);
+ String state = compactorStateToResponse(rs.getString(2).charAt(0));
+ LOG.info("Ignoring request to compact " + rqst.getDbname() + "/" + rqst.getTablename() +
+ "/" + rqst.getPartitionname() + " since it is already " + quoteString(state) +
+ " with id=" + enqueuedId);
+ CompactionResponse resp = new CompactionResponse(-1, REFUSED_RESPONSE, false);
+ resp.setErrormessage("Compaction is already scheduled with state=" + quoteString(state) +
+ " and id=" + enqueuedId);
+ return resp;
+ }
+ }
+ }
+ List<String> params = new ArrayList<>();
+ StringBuilder buf = new StringBuilder("INSERT INTO \"COMPACTION_QUEUE\" (\"CQ_ID\", \"CQ_DATABASE\", " +
+ "\"CQ_TABLE\", ");
+ String partName = rqst.getPartitionname();
+ if (partName != null) buf.append("\"CQ_PARTITION\", ");
+ buf.append("\"CQ_STATE\", \"CQ_TYPE\", \"CQ_ENQUEUE_TIME\"");
+ if (rqst.getProperties() != null) {
+ buf.append(", \"CQ_TBLPROPERTIES\"");
+ }
+ if (rqst.getRunas() != null) {
+ buf.append(", \"CQ_RUN_AS\"");
+ }
+ if (rqst.getInitiatorId() != null) {
+ buf.append(", \"CQ_INITIATOR_ID\"");
+ }
+ if (rqst.getInitiatorVersion() != null) {
+ buf.append(", \"CQ_INITIATOR_VERSION\"");
+ }
+ buf.append(") values (");
+ buf.append(id);
+ buf.append(", ?");
+ buf.append(", ?");
+ buf.append(", ");
+ params.add(rqst.getDbname());
+ params.add(rqst.getTablename());
+ if (partName != null) {
+ buf.append("?, '");
+ params.add(partName);
+ } else {
+ buf.append("'");
+ }
+ buf.append(INITIATED_STATE);
+ buf.append("', '");
+ buf.append(thriftCompactionType2DbType(rqst.getType()));
+ buf.append("',");
+ buf.append(getEpochFn(dbProduct));
+ if (rqst.getProperties() != null) {
+ buf.append(", ?");
+ params.add(new StringableMap(rqst.getProperties()).toString());
+ }
+ if (rqst.getRunas() != null) {
+ buf.append(", ?");
+ params.add(rqst.getRunas());
+ }
+ if (rqst.getInitiatorId() != null) {
+ buf.append(", ?");
+ params.add(rqst.getInitiatorId());
+ }
+ if (rqst.getInitiatorVersion() != null) {
+ buf.append(", ?");
+ params.add(rqst.getInitiatorVersion());
+ }
+ buf.append(")");
+ String s = buf.toString();
- pst = sqlGenerator.prepareStmtWithParameters(dbConn, sb.toString(), params);
- LOG.debug("Going to execute query <" + sb + ">");
- ResultSet rs = pst.executeQuery();
- if(rs.next()) {
- long enqueuedId = rs.getLong(1);
- String state = compactorStateToResponse(rs.getString(2).charAt(0));
- LOG.info("Ignoring request to compact " + rqst.getDbname() + "/" + rqst.getTablename() +
- "/" + rqst.getPartitionname() + " since it is already " + quoteString(state) +
- " with id=" + enqueuedId);
- CompactionResponse resp = new CompactionResponse(-1, REFUSED_RESPONSE, false);
- resp.setErrormessage("Compaction is already scheduled with state=" + quoteString(state) +
- " and id=" + enqueuedId);
- return resp;
- }
- close(rs);
- closeStmt(pst);
- params.clear();
- StringBuilder buf = new StringBuilder("INSERT INTO \"COMPACTION_QUEUE\" (\"CQ_ID\", \"CQ_DATABASE\", " +
- "\"CQ_TABLE\", ");
- String partName = rqst.getPartitionname();
- if (partName != null) buf.append("\"CQ_PARTITION\", ");
- buf.append("\"CQ_STATE\", \"CQ_TYPE\", \"CQ_ENQUEUE_TIME\"");
- if (rqst.getProperties() != null) {
- buf.append(", \"CQ_TBLPROPERTIES\"");
- }
- if (rqst.getRunas() != null) {
- buf.append(", \"CQ_RUN_AS\"");
- }
- if (rqst.getInitiatorId() != null) {
- buf.append(", \"CQ_INITIATOR_ID\"");
- }
- if (rqst.getInitiatorVersion() != null) {
- buf.append(", \"CQ_INITIATOR_VERSION\"");
- }
- buf.append(") values (");
- buf.append(id);
- buf.append(", ?");
- buf.append(", ?");
- buf.append(", ");
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if (partName != null) {
- buf.append("?, '");
- params.add(partName);
- } else {
- buf.append("'");
- }
- buf.append(INITIATED_STATE);
- buf.append("', '");
- buf.append(thriftCompactionType2DbType(rqst.getType()));
- buf.append("',");
- buf.append(getEpochFn(dbProduct));
- if (rqst.getProperties() != null) {
- buf.append(", ?");
- params.add(new StringableMap(rqst.getProperties()).toString());
- }
- if (rqst.getRunas() != null) {
- buf.append(", ?");
- params.add(rqst.getRunas());
- }
- if (rqst.getInitiatorId() != null) {
- buf.append(", ?");
- params.add(rqst.getInitiatorId());
- }
- if (rqst.getInitiatorVersion() != null) {
- buf.append(", ?");
- params.add(rqst.getInitiatorVersion());
+ try (PreparedStatement pst = sqlGenerator.prepareStmtWithParameters(dbConn, s, params)) {
+ LOG.debug("Going to execute update <" + s + ">");
+ pst.executeUpdate();
+ }
+ LOG.debug("Going to commit");
+ dbConn.commit();
+ return new CompactionResponse(id, INITIATED_RESPONSE, true);
+ } catch (SQLException e) {
+ dbConn.rollback();
+ throw e;
+ }
}
- buf.append(")");
- String s = buf.toString();
- pst = sqlGenerator.prepareStmtWithParameters(dbConn, s, params);
- LOG.debug("Going to execute update <" + s + ">");
- pst.executeUpdate();
- LOG.debug("Going to commit");
- dbConn.commit();
- return new CompactionResponse(id, INITIATED_RESPONSE, true);
} catch (SQLException e) {
LOG.debug("Going to rollback: ", e);
- rollbackDBConn(dbConn);
checkRetryable(e, "COMPACT(" + rqst + ")");
throw new MetaException("Unable to select from transaction database " +
Review Comment:
please update the error message
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887804677
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,125 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
-
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
-
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
+ try (Statement stmt = dbConn.createStatement()) {
+
+ long id = generateCompactionQueueId(stmt);
+
+ GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
+ Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
+ final ValidCompactorWriteIdList tblValidWriteIds =
+ TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
+ LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
+
+ StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
+ append(" (\"CQ_STATE\" IN(").
+ append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
+ append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
+ append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
+ append(" AND \"CQ_DATABASE\"=?").
+ append(" AND \"CQ_TABLE\"=?").append(" AND ");
+ if(rqst.getPartitionname() == null) {
+ sb.append("\"CQ_PARTITION\" is null");
+ } else {
+ sb.append("\"CQ_PARTITION\"=?");
+ }
- pst = sqlGenerator.prepareStmtWithParameters(dbConn, sb.toString(), params);
- LOG.debug("Going to execute query <" + sb + ">");
- ResultSet rs = pst.executeQuery();
- if(rs.next()) {
- long enqueuedId = rs.getLong(1);
- String state = compactorStateToResponse(rs.getString(2).charAt(0));
- LOG.info("Ignoring request to compact " + rqst.getDbname() + "/" + rqst.getTablename() +
- "/" + rqst.getPartitionname() + " since it is already " + quoteString(state) +
- " with id=" + enqueuedId);
- CompactionResponse resp = new CompactionResponse(-1, REFUSED_RESPONSE, false);
- resp.setErrormessage("Compaction is already scheduled with state=" + quoteString(state) +
- " and id=" + enqueuedId);
- return resp;
- }
- close(rs);
- closeStmt(pst);
- params.clear();
- StringBuilder buf = new StringBuilder("INSERT INTO \"COMPACTION_QUEUE\" (\"CQ_ID\", \"CQ_DATABASE\", " +
- "\"CQ_TABLE\", ");
- String partName = rqst.getPartitionname();
- if (partName != null) buf.append("\"CQ_PARTITION\", ");
- buf.append("\"CQ_STATE\", \"CQ_TYPE\", \"CQ_ENQUEUE_TIME\"");
- if (rqst.getProperties() != null) {
- buf.append(", \"CQ_TBLPROPERTIES\"");
- }
- if (rqst.getRunas() != null) {
- buf.append(", \"CQ_RUN_AS\"");
- }
- if (rqst.getInitiatorId() != null) {
- buf.append(", \"CQ_INITIATOR_ID\"");
- }
- if (rqst.getInitiatorVersion() != null) {
- buf.append(", \"CQ_INITIATOR_VERSION\"");
- }
- buf.append(") values (");
- buf.append(id);
- buf.append(", ?");
- buf.append(", ?");
- buf.append(", ");
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if (partName != null) {
- buf.append("?, '");
- params.add(partName);
- } else {
- buf.append("'");
- }
- buf.append(INITIATED_STATE);
- buf.append("', '");
- buf.append(thriftCompactionType2DbType(rqst.getType()));
- buf.append("',");
- buf.append(getEpochFn(dbProduct));
- if (rqst.getProperties() != null) {
- buf.append(", ?");
- params.add(new StringableMap(rqst.getProperties()).toString());
- }
- if (rqst.getRunas() != null) {
- buf.append(", ?");
- params.add(rqst.getRunas());
- }
- if (rqst.getInitiatorId() != null) {
- buf.append(", ?");
- params.add(rqst.getInitiatorId());
- }
- if (rqst.getInitiatorVersion() != null) {
- buf.append(", ?");
- params.add(rqst.getInitiatorVersion());
+ try (PreparedStatement pst = dbConn.prepareStatement(sqlGenerator.addEscapeCharacters(sb.toString()))) {
+ pst.setLong(1, tblValidWriteIds.getHighWatermark());
+ pst.setString(2, rqst.getDbname());
+ pst.setString(3, rqst.getTablename());
+ if (rqst.getPartitionname() != null) {
+ pst.setString(4, rqst.getPartitionname());
+ }
+ LOG.debug("Going to execute query <" + sb + ">");
+ try (ResultSet rs = pst.executeQuery()) {
+ if(rs.next()) {
+ long enqueuedId = rs.getLong(1);
+ String state = compactorStateToResponse(rs.getString(2).charAt(0));
+ LOG.info("Ignoring request to compact " + rqst.getDbname() + "/" + rqst.getTablename() +
+ "/" + rqst.getPartitionname() + " since it is already " + quoteString(state) +
+ " with id=" + enqueuedId);
+ CompactionResponse resp = new CompactionResponse(-1, REFUSED_RESPONSE, false);
+ resp.setErrormessage("Compaction is already scheduled with state=" + quoteString(state) +
+ " and id=" + enqueuedId);
+ return resp;
+ }
+ }
+ }
+ List<String> params = new ArrayList<>();
+ StringBuilder buf = new StringBuilder("INSERT INTO \"COMPACTION_QUEUE\" (\"CQ_ID\", \"CQ_DATABASE\", " +
+ "\"CQ_TABLE\", ");
+ String partName = rqst.getPartitionname();
+ if (partName != null) buf.append("\"CQ_PARTITION\", ");
+ buf.append("\"CQ_STATE\", \"CQ_TYPE\", \"CQ_ENQUEUE_TIME\"");
+ if (rqst.getProperties() != null) {
+ buf.append(", \"CQ_TBLPROPERTIES\"");
+ }
+ if (rqst.getRunas() != null) {
+ buf.append(", \"CQ_RUN_AS\"");
+ }
+ if (rqst.getInitiatorId() != null) {
+ buf.append(", \"CQ_INITIATOR_ID\"");
+ }
+ if (rqst.getInitiatorVersion() != null) {
+ buf.append(", \"CQ_INITIATOR_VERSION\"");
+ }
+ buf.append(") values (");
+ buf.append(id);
+ buf.append(", ?");
+ buf.append(", ?");
+ buf.append(", ");
+ params.add(rqst.getDbname());
+ params.add(rqst.getTablename());
+ if (partName != null) {
+ buf.append("?, '");
+ params.add(partName);
+ } else {
+ buf.append("'");
+ }
+ buf.append(INITIATED_STATE);
+ buf.append("', '");
+ buf.append(thriftCompactionType2DbType(rqst.getType()));
+ buf.append("',");
+ buf.append(getEpochFn(dbProduct));
+ if (rqst.getProperties() != null) {
+ buf.append(", ?");
+ params.add(new StringableMap(rqst.getProperties()).toString());
+ }
+ if (rqst.getRunas() != null) {
+ buf.append(", ?");
+ params.add(rqst.getRunas());
+ }
+ if (rqst.getInitiatorId() != null) {
+ buf.append(", ?");
+ params.add(rqst.getInitiatorId());
+ }
+ if (rqst.getInitiatorVersion() != null) {
+ buf.append(", ?");
+ params.add(rqst.getInitiatorVersion());
+ }
+ buf.append(")");
+ String s = buf.toString();
+ try (PreparedStatement pst = sqlGenerator.prepareStmtWithParameters(dbConn, s, params)) {
Review Comment:
add new line above
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887809222
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,125 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
-
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
-
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
Review Comment:
no need for an extra try, you could initialize dbConn and stmt in the above block (line 3693) in single try:
````
try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
Statement stmt = dbConn.createStatement()) {
````
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887809222
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,125 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
-
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
-
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
Review Comment:
no need for an extra try, you could initialize dbConn in the above block
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r888700909
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,127 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
+ try (Statement stmt = dbConn.createStatement()) {
+
+ long id = generateCompactionQueueId(stmt);
+
+ GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
+ Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
+ final ValidCompactorWriteIdList tblValidWriteIds =
+ TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
+ LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
+
+ StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
+ append(" (\"CQ_STATE\" IN(").
+ append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
+ append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
+ append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
+ append(" AND \"CQ_DATABASE\"=?").
+ append(" AND \"CQ_TABLE\"=?").append(" AND ");
+ if(rqst.getPartitionname() == null) {
+ sb.append("\"CQ_PARTITION\" is null");
+ } else {
+ sb.append("\"CQ_PARTITION\"=?");
+ }
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (PreparedStatement pst = dbConn.prepareStatement(sqlGenerator.addEscapeCharacters(sb.toString()))) {
+ pst.setLong(1, tblValidWriteIds.getHighWatermark());
+ pst.setString(2, rqst.getDbname());
+ pst.setString(3, rqst.getTablename());
+ if (rqst.getPartitionname() != null) {
+ pst.setString(4, rqst.getPartitionname());
+ }
+ LOG.debug("Going to execute query <" + sb + ">");
+ try (ResultSet rs = pst.executeQuery()) {
+ if(rs.next()) {
+ long enqueuedId = rs.getLong(1);
+ String state = compactorStateToResponse(rs.getString(2).charAt(0));
+ LOG.info("Ignoring request to compact " + rqst.getDbname() + "/" + rqst.getTablename() +
+ "/" + rqst.getPartitionname() + " since it is already " + quoteString(state) +
+ " with id=" + enqueuedId);
+ CompactionResponse resp = new CompactionResponse(-1, REFUSED_RESPONSE, false);
+ resp.setErrormessage("Compaction is already scheduled with state=" + quoteString(state) +
+ " and id=" + enqueuedId);
+ return resp;
+ }
+ }
+ }
+ List<String> params = new ArrayList<>();
+ StringBuilder buf = new StringBuilder("INSERT INTO \"COMPACTION_QUEUE\" (\"CQ_ID\", \"CQ_DATABASE\", " +
+ "\"CQ_TABLE\", ");
+ String partName = rqst.getPartitionname();
+ if (partName != null) buf.append("\"CQ_PARTITION\", ");
+ buf.append("\"CQ_STATE\", \"CQ_TYPE\", \"CQ_ENQUEUE_TIME\"");
+ if (rqst.getProperties() != null) {
+ buf.append(", \"CQ_TBLPROPERTIES\"");
+ }
+ if (rqst.getRunas() != null) {
+ buf.append(", \"CQ_RUN_AS\"");
+ }
+ if (rqst.getInitiatorId() != null) {
+ buf.append(", \"CQ_INITIATOR_ID\"");
+ }
+ if (rqst.getInitiatorVersion() != null) {
+ buf.append(", \"CQ_INITIATOR_VERSION\"");
+ }
+ buf.append(") values (");
+ buf.append(id);
+ buf.append(", ?");
+ buf.append(", ?");
+ buf.append(", ");
+ params.add(rqst.getDbname());
+ params.add(rqst.getTablename());
+ if (partName != null) {
+ buf.append("?, '");
+ params.add(partName);
+ } else {
+ buf.append("'");
+ }
+ buf.append(INITIATED_STATE);
+ buf.append("', '");
+ buf.append(thriftCompactionType2DbType(rqst.getType()));
+ buf.append("',");
+ buf.append(getEpochFn(dbProduct));
+ if (rqst.getProperties() != null) {
+ buf.append(", ?");
+ params.add(new StringableMap(rqst.getProperties()).toString());
+ }
+ if (rqst.getRunas() != null) {
+ buf.append(", ?");
+ params.add(rqst.getRunas());
+ }
+ if (rqst.getInitiatorId() != null) {
+ buf.append(", ?");
+ params.add(rqst.getInitiatorId());
+ }
+ if (rqst.getInitiatorVersion() != null) {
+ buf.append(", ?");
+ params.add(rqst.getInitiatorVersion());
+ }
+ buf.append(")");
+ String s = buf.toString();
- pst = sqlGenerator.prepareStmtWithParameters(dbConn, sb.toString(), params);
- LOG.debug("Going to execute query <" + sb + ">");
- ResultSet rs = pst.executeQuery();
- if(rs.next()) {
- long enqueuedId = rs.getLong(1);
- String state = compactorStateToResponse(rs.getString(2).charAt(0));
- LOG.info("Ignoring request to compact " + rqst.getDbname() + "/" + rqst.getTablename() +
- "/" + rqst.getPartitionname() + " since it is already " + quoteString(state) +
- " with id=" + enqueuedId);
- CompactionResponse resp = new CompactionResponse(-1, REFUSED_RESPONSE, false);
- resp.setErrormessage("Compaction is already scheduled with state=" + quoteString(state) +
- " and id=" + enqueuedId);
- return resp;
- }
- close(rs);
- closeStmt(pst);
- params.clear();
- StringBuilder buf = new StringBuilder("INSERT INTO \"COMPACTION_QUEUE\" (\"CQ_ID\", \"CQ_DATABASE\", " +
- "\"CQ_TABLE\", ");
- String partName = rqst.getPartitionname();
- if (partName != null) buf.append("\"CQ_PARTITION\", ");
- buf.append("\"CQ_STATE\", \"CQ_TYPE\", \"CQ_ENQUEUE_TIME\"");
- if (rqst.getProperties() != null) {
- buf.append(", \"CQ_TBLPROPERTIES\"");
- }
- if (rqst.getRunas() != null) {
- buf.append(", \"CQ_RUN_AS\"");
- }
- if (rqst.getInitiatorId() != null) {
- buf.append(", \"CQ_INITIATOR_ID\"");
- }
- if (rqst.getInitiatorVersion() != null) {
- buf.append(", \"CQ_INITIATOR_VERSION\"");
- }
- buf.append(") values (");
- buf.append(id);
- buf.append(", ?");
- buf.append(", ?");
- buf.append(", ");
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if (partName != null) {
- buf.append("?, '");
- params.add(partName);
- } else {
- buf.append("'");
- }
- buf.append(INITIATED_STATE);
- buf.append("', '");
- buf.append(thriftCompactionType2DbType(rqst.getType()));
- buf.append("',");
- buf.append(getEpochFn(dbProduct));
- if (rqst.getProperties() != null) {
- buf.append(", ?");
- params.add(new StringableMap(rqst.getProperties()).toString());
- }
- if (rqst.getRunas() != null) {
- buf.append(", ?");
- params.add(rqst.getRunas());
- }
- if (rqst.getInitiatorId() != null) {
- buf.append(", ?");
- params.add(rqst.getInitiatorId());
- }
- if (rqst.getInitiatorVersion() != null) {
- buf.append(", ?");
- params.add(rqst.getInitiatorVersion());
+ try (PreparedStatement pst = sqlGenerator.prepareStmtWithParameters(dbConn, s, params)) {
+ LOG.debug("Going to execute update <" + s + ">");
+ pst.executeUpdate();
+ }
+ LOG.debug("Going to commit");
+ dbConn.commit();
+ return new CompactionResponse(id, INITIATED_RESPONSE, true);
+ } catch (SQLException e) {
+ dbConn.rollback();
+ throw e;
+ }
}
- buf.append(")");
- String s = buf.toString();
- pst = sqlGenerator.prepareStmtWithParameters(dbConn, s, params);
- LOG.debug("Going to execute update <" + s + ">");
- pst.executeUpdate();
- LOG.debug("Going to commit");
- dbConn.commit();
- return new CompactionResponse(id, INITIATED_RESPONSE, true);
} catch (SQLException e) {
LOG.debug("Going to rollback: ", e);
Review Comment:
please move this comment to the line where rollback is called
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org
[GitHub] [hive] deniskuzZ commented on a diff in pull request #3325: HIVE-26267: Addendum to HIVE-26107: perpared statement is not working on Postgres
Posted by GitBox <gi...@apache.org>.
deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r888700909
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3701,122 +3698,127 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
* compactions for any resource.
*/
handle = getMutexAPI().acquireLock(MUTEX_KEY.CompactionScheduler.name());
- dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED);
- stmt = dbConn.createStatement();
- long id = generateCompactionQueueId(stmt);
-
- GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
- Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
- final ValidCompactorWriteIdList tblValidWriteIds =
- TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
- LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
+ try (Connection dbConn = getDbConn(Connection.TRANSACTION_READ_COMMITTED)) {
+ try (Statement stmt = dbConn.createStatement()) {
+
+ long id = generateCompactionQueueId(stmt);
+
+ GetValidWriteIdsRequest request = new GetValidWriteIdsRequest(
+ Collections.singletonList(getFullTableName(rqst.getDbname(), rqst.getTablename())));
+ final ValidCompactorWriteIdList tblValidWriteIds =
+ TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
+ LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
+
+ StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
+ append(" (\"CQ_STATE\" IN(").
+ append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
+ append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
+ append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
+ append(" AND \"CQ_DATABASE\"=?").
+ append(" AND \"CQ_TABLE\"=?").append(" AND ");
+ if(rqst.getPartitionname() == null) {
+ sb.append("\"CQ_PARTITION\" is null");
+ } else {
+ sb.append("\"CQ_PARTITION\"=?");
+ }
- List<String> params = new ArrayList<>();
- StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
- append(" (\"CQ_STATE\" IN(").
- append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
- append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
- append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
- append(" AND \"CQ_DATABASE\"=?").
- append(" AND \"CQ_TABLE\"=?").append(" AND ");
- params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if(rqst.getPartitionname() == null) {
- sb.append("\"CQ_PARTITION\" is null");
- } else {
- sb.append("\"CQ_PARTITION\"=?");
- params.add(rqst.getPartitionname());
- }
+ try (PreparedStatement pst = dbConn.prepareStatement(sqlGenerator.addEscapeCharacters(sb.toString()))) {
+ pst.setLong(1, tblValidWriteIds.getHighWatermark());
+ pst.setString(2, rqst.getDbname());
+ pst.setString(3, rqst.getTablename());
+ if (rqst.getPartitionname() != null) {
+ pst.setString(4, rqst.getPartitionname());
+ }
+ LOG.debug("Going to execute query <" + sb + ">");
+ try (ResultSet rs = pst.executeQuery()) {
+ if(rs.next()) {
+ long enqueuedId = rs.getLong(1);
+ String state = compactorStateToResponse(rs.getString(2).charAt(0));
+ LOG.info("Ignoring request to compact " + rqst.getDbname() + "/" + rqst.getTablename() +
+ "/" + rqst.getPartitionname() + " since it is already " + quoteString(state) +
+ " with id=" + enqueuedId);
+ CompactionResponse resp = new CompactionResponse(-1, REFUSED_RESPONSE, false);
+ resp.setErrormessage("Compaction is already scheduled with state=" + quoteString(state) +
+ " and id=" + enqueuedId);
+ return resp;
+ }
+ }
+ }
+ List<String> params = new ArrayList<>();
+ StringBuilder buf = new StringBuilder("INSERT INTO \"COMPACTION_QUEUE\" (\"CQ_ID\", \"CQ_DATABASE\", " +
+ "\"CQ_TABLE\", ");
+ String partName = rqst.getPartitionname();
+ if (partName != null) buf.append("\"CQ_PARTITION\", ");
+ buf.append("\"CQ_STATE\", \"CQ_TYPE\", \"CQ_ENQUEUE_TIME\"");
+ if (rqst.getProperties() != null) {
+ buf.append(", \"CQ_TBLPROPERTIES\"");
+ }
+ if (rqst.getRunas() != null) {
+ buf.append(", \"CQ_RUN_AS\"");
+ }
+ if (rqst.getInitiatorId() != null) {
+ buf.append(", \"CQ_INITIATOR_ID\"");
+ }
+ if (rqst.getInitiatorVersion() != null) {
+ buf.append(", \"CQ_INITIATOR_VERSION\"");
+ }
+ buf.append(") values (");
+ buf.append(id);
+ buf.append(", ?");
+ buf.append(", ?");
+ buf.append(", ");
+ params.add(rqst.getDbname());
+ params.add(rqst.getTablename());
+ if (partName != null) {
+ buf.append("?, '");
+ params.add(partName);
+ } else {
+ buf.append("'");
+ }
+ buf.append(INITIATED_STATE);
+ buf.append("', '");
+ buf.append(thriftCompactionType2DbType(rqst.getType()));
+ buf.append("',");
+ buf.append(getEpochFn(dbProduct));
+ if (rqst.getProperties() != null) {
+ buf.append(", ?");
+ params.add(new StringableMap(rqst.getProperties()).toString());
+ }
+ if (rqst.getRunas() != null) {
+ buf.append(", ?");
+ params.add(rqst.getRunas());
+ }
+ if (rqst.getInitiatorId() != null) {
+ buf.append(", ?");
+ params.add(rqst.getInitiatorId());
+ }
+ if (rqst.getInitiatorVersion() != null) {
+ buf.append(", ?");
+ params.add(rqst.getInitiatorVersion());
+ }
+ buf.append(")");
+ String s = buf.toString();
- pst = sqlGenerator.prepareStmtWithParameters(dbConn, sb.toString(), params);
- LOG.debug("Going to execute query <" + sb + ">");
- ResultSet rs = pst.executeQuery();
- if(rs.next()) {
- long enqueuedId = rs.getLong(1);
- String state = compactorStateToResponse(rs.getString(2).charAt(0));
- LOG.info("Ignoring request to compact " + rqst.getDbname() + "/" + rqst.getTablename() +
- "/" + rqst.getPartitionname() + " since it is already " + quoteString(state) +
- " with id=" + enqueuedId);
- CompactionResponse resp = new CompactionResponse(-1, REFUSED_RESPONSE, false);
- resp.setErrormessage("Compaction is already scheduled with state=" + quoteString(state) +
- " and id=" + enqueuedId);
- return resp;
- }
- close(rs);
- closeStmt(pst);
- params.clear();
- StringBuilder buf = new StringBuilder("INSERT INTO \"COMPACTION_QUEUE\" (\"CQ_ID\", \"CQ_DATABASE\", " +
- "\"CQ_TABLE\", ");
- String partName = rqst.getPartitionname();
- if (partName != null) buf.append("\"CQ_PARTITION\", ");
- buf.append("\"CQ_STATE\", \"CQ_TYPE\", \"CQ_ENQUEUE_TIME\"");
- if (rqst.getProperties() != null) {
- buf.append(", \"CQ_TBLPROPERTIES\"");
- }
- if (rqst.getRunas() != null) {
- buf.append(", \"CQ_RUN_AS\"");
- }
- if (rqst.getInitiatorId() != null) {
- buf.append(", \"CQ_INITIATOR_ID\"");
- }
- if (rqst.getInitiatorVersion() != null) {
- buf.append(", \"CQ_INITIATOR_VERSION\"");
- }
- buf.append(") values (");
- buf.append(id);
- buf.append(", ?");
- buf.append(", ?");
- buf.append(", ");
- params.add(rqst.getDbname());
- params.add(rqst.getTablename());
- if (partName != null) {
- buf.append("?, '");
- params.add(partName);
- } else {
- buf.append("'");
- }
- buf.append(INITIATED_STATE);
- buf.append("', '");
- buf.append(thriftCompactionType2DbType(rqst.getType()));
- buf.append("',");
- buf.append(getEpochFn(dbProduct));
- if (rqst.getProperties() != null) {
- buf.append(", ?");
- params.add(new StringableMap(rqst.getProperties()).toString());
- }
- if (rqst.getRunas() != null) {
- buf.append(", ?");
- params.add(rqst.getRunas());
- }
- if (rqst.getInitiatorId() != null) {
- buf.append(", ?");
- params.add(rqst.getInitiatorId());
- }
- if (rqst.getInitiatorVersion() != null) {
- buf.append(", ?");
- params.add(rqst.getInitiatorVersion());
+ try (PreparedStatement pst = sqlGenerator.prepareStmtWithParameters(dbConn, s, params)) {
+ LOG.debug("Going to execute update <" + s + ">");
+ pst.executeUpdate();
+ }
+ LOG.debug("Going to commit");
+ dbConn.commit();
+ return new CompactionResponse(id, INITIATED_RESPONSE, true);
+ } catch (SQLException e) {
+ dbConn.rollback();
+ throw e;
+ }
}
- buf.append(")");
- String s = buf.toString();
- pst = sqlGenerator.prepareStmtWithParameters(dbConn, s, params);
- LOG.debug("Going to execute update <" + s + ">");
- pst.executeUpdate();
- LOG.debug("Going to commit");
- dbConn.commit();
- return new CompactionResponse(id, INITIATED_RESPONSE, true);
} catch (SQLException e) {
LOG.debug("Going to rollback: ", e);
Review Comment:
please move this logging to the line where rollback is called
--
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: gitbox-unsubscribe@hive.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org