diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-01-31 23:45:00 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-01-31 23:45:00 +0100 |
commit | a0300536c74ddccf78be6b599f1abb11c152a54a (patch) | |
tree | 74980f1627fe1efa7b52e29ea6bfa6555dc87200 | |
parent | b6c4fe447f44f18323260a32dd163a4eebd64db9 (diff) |
Close the future
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java index 7b5d64fbd5a..a73b6896c2c 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/QuestMetricsDb.java @@ -18,6 +18,7 @@ import io.questdb.cairo.sql.Record; import io.questdb.cairo.sql.RecordCursor; import io.questdb.cairo.sql.RecordCursorFactory; import io.questdb.griffin.CompiledQuery; +import io.questdb.griffin.QueryFuture; import io.questdb.griffin.SqlCompiler; import io.questdb.griffin.SqlException; import io.questdb.griffin.SqlExecutionContext; @@ -342,11 +343,13 @@ public class QuestMetricsDb extends AbstractComponent implements MetricsDb { } /** - * Issues and wait for 'alter table' SQL statement to be executed against the QuestDb engine. + * Issues and wait for an SQL statement to be executed against the QuestDb engine. * Needs to be done for some queries, e.g. 'alter table' queries, see https://github.com/questdb/questdb/issues/1846 */ - private void issueAndWait(String sql, SqlExecutionContext context) throws SqlException { - issue(sql, context).execute(null).await(); + private void issueAsync(String sql, SqlExecutionContext context) throws SqlException { + try (QueryFuture future = issue(sql, context).execute(null)) { + future.await(); + } } private SqlExecutionContext newContext() { @@ -382,7 +385,7 @@ public class QuestMetricsDb extends AbstractComponent implements MetricsDb { void gc() { synchronized (writeLock) { try { - issueAndWait("alter table " + name + " drop partition where at < dateadd('d', -4, now());", newContext()); + issueAsync("alter table " + name + " drop partition where at < dateadd('d', -4, now());", newContext()); } catch (SqlException e) { log.log(Level.WARNING, "Failed to gc old metrics data in " + dir + " table " + name, e); @@ -404,7 +407,7 @@ public class QuestMetricsDb extends AbstractComponent implements MetricsDb { void ensureColumnExists(String column, String columnType) throws SqlException { if (columnNames().contains(column)) return; - issueAndWait("alter table " + name + " add column " + column + " " + columnType, newContext()); + issueAsync("alter table " + name + " add column " + column + " " + columnType, newContext()); } private Optional<Long> adjustOrDiscard(Instant at) { |