Marta Kuczora created HIVE-22375:
------------------------------------
Summary: ObjectStore.lockNotificationSequenceForUpdate is leaking
query in case of error
Key: HIVE-22375
URL: https://issues.apache.org/jira/browse/HIVE-22375
Project: Hive
Issue Type: Bug
Components: Standalone Metastore
Affects Versions: 4.0.0
Reporter: Marta Kuczora
Assignee: Marta Kuczora
In the ObjectStore.lockNotificationSequenceForUpdate method, the query doesn't
get closed if an error occur:
{noformat}
private void lockNotificationSequenceForUpdate() throws MetaException {
if (sqlGenerator.getDbProduct() == DatabaseProduct.DERBY && directSql != null)
{
new RetryingExecutor(conf, () -> {
directSql.lockDbTable("NOTIFICATION_SEQUENCE");
}).run();
} else {
String selectQuery = "select \"NEXT_EVENT_ID\" from \"NOTIFICATION_SEQUENCE\"";
String lockingQuery = sqlGenerator.addForUpdateClause(selectQuery);
new RetryingExecutor(conf, () -> {
prepareQuotes();
Query query = pm.newQuery("javax.jdo.query.SQL", lockingQuery);
query.setUnique(true);
// only need to execute it to get db Lock
query.execute();
query.closeAll();
}).run();
}
}
{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)