[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-03 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=778052&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-778052
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 03/Jun/22 12:00
Start Date: 03/Jun/22 12:00
Worklog Time Spent: 10m 
  Work Description: deniskuzZ merged PR #3325:
URL: https://github.com/apache/hive/pull/3325




Issue Time Tracking
---

Worklog Id: (was: 778052)
Time Spent: 2h 40m  (was: 2.5h)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-03 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777958&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777958
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 03/Jun/22 07:54
Start Date: 03/Jun/22 07:54
Worklog Time Spent: 10m 
  Work Description: 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 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) +
+

[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-03 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777955&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777955
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 03/Jun/22 07:45
Start Date: 03/Jun/22 07:45
Worklog Time Spent: 10m 
  Work Description: 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 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) +
+

[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-03 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777956&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777956
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 03/Jun/22 07:45
Start Date: 03/Jun/22 07:45
Worklog Time Spent: 10m 
  Work Description: 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 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) +
+

[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-03 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777954&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777954
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 03/Jun/22 07:44
Start Date: 03/Jun/22 07:44
Worklog Time Spent: 10m 
  Work Description: 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 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





Issue Time Tracking
---

Worklog Id: (was: 777954)
Time Spent: 2h  (was: 1h 50m)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777427&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777427
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 11:38
Start Date: 02/Jun/22 11:38
Worklog Time Spent: 10m 
  Work Description: 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 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?





Issue Time Tracking
---

Worklog Id: (was: 777427)
Time Spent: 1h 50m  (was: 1h 40m)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777395&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777395
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 10:43
Start Date: 02/Jun/22 10:43
Worklog Time Spent: 10m 
  Work Description: 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 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()) {
   
   





Issue Time Tracking
---

Worklog Id: (was: 777395)
Time Spent: 1h 40m  (was: 1.5h)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777393&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777393
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 10:43
Start Date: 02/Jun/22 10:43
Worklog Time Spent: 10m 
  Work Description: 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 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()) {
   
   





Issue Time Tracking
---

Worklog Id: (was: 777393)
Time Spent: 1.5h  (was: 1h 20m)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777388&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777388
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 10:36
Start Date: 02/Jun/22 10:36
Worklog Time Spent: 10m 
  Work Description: 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 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()) {
   
   





Issue Time Tracking
---

Worklog Id: (was: 777388)
Time Spent: 1h 20m  (was: 1h 10m)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777387&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777387
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 10:34
Start Date: 02/Jun/22 10:34
Worklog Time Spent: 10m 
  Work Description: 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 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





Issue Time Tracking
---

Worklog Id: (was: 777387)
Time Spent: 1h 10m  (was: 1h)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777386&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777386
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 10:28
Start Date: 02/Jun/22 10:28
Worklog Time Spent: 10m 
  Work Description: 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 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("\"

[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777385&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777385
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 10:27
Start Date: 02/Jun/22 10:27
Worklog Time Spent: 10m 
  Work Description: 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 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





Issue Time Tracking
---

Worklog Id: (was: 777385)
Time Spent: 50m  (was: 40m)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777343&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777343
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 08:27
Start Date: 02/Jun/22 08:27
Worklog Time Spent: 10m 
  Work Description: 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 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()`





Issue Time Tracking
---

Worklog Id: (was: 777343)
Time Spent: 40m  (was: 0.5h)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777334&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777334
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 08:09
Start Date: 02/Jun/22 08:09
Worklog Time Spent: 10m 
  Work Description: 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





Issue Time Tracking
---

Worklog Id: (was: 777334)
Time Spent: 0.5h  (was: 20m)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-06-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777333&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777333
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 02/Jun/22 08:07
Start Date: 02/Jun/22 08:07
Worklog Time Spent: 10m 
  Work Description: 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 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





Issue Time Tracking
---

Worklog Id: (was: 777333)
Time Spent: 20m  (was: 10m)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

2022-05-26 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=774949&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-774949
 ]

ASF GitHub Bot logged work on HIVE-26267:
-

Author: ASF GitHub Bot
Created on: 26/May/22 08:51
Start Date: 26/May/22 08:51
Worklog Time Spent: 10m 
  Work Description: 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




Issue Time Tracking
---

Worklog Id: (was: 774949)
Remaining Estimate: 0h
Time Spent: 10m

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> -
>
> Key: HIVE-26267
> URL: https://issues.apache.org/jira/browse/HIVE-26267
> Project: Hive
>  Issue Type: Bug
>Reporter: László Végh
>Assignee: László Végh
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)