You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ex...@apache.org on 2023/06/26 14:45:58 UTC

[nifi] 02/02: NIFI-11745 Upgraded QuestDB from 6.7 to 7.2

This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit c5946b2e6c809f8fed312398c4e7fb8163510f33
Author: Bence Simon <bs...@apache.org>
AuthorDate: Mon Jun 26 10:50:43 2023 +0200

    NIFI-11745 Upgraded QuestDB from 6.7 to 7.2
    
    This closes #7430
    
    Signed-off-by: David Handermann <ex...@apache.org>
---
 .../nifi-framework/nifi-framework-core/pom.xml     |  2 +-
 .../status/history/questdb/QuestDbContext.java     |  3 +--
 .../history/questdb/QuestDbDatabaseManager.java    | 10 +++----
 .../history/questdb/QuestDbWritingTemplate.java    |  2 +-
 ...ontext.java => SqlExecutionContextFactory.java} | 31 +++++-----------------
 5 files changed, 13 insertions(+), 35 deletions(-)

diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
index b4e5a1d6db..aac7d5ec5f 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
@@ -182,7 +182,7 @@
         <dependency>
             <groupId>org.questdb</groupId>
             <artifactId>questdb</artifactId>
-            <version>6.7-jdk8</version>
+            <version>7.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbContext.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbContext.java
index ef28eec2cf..f79231c279 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbContext.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbContext.java
@@ -20,7 +20,6 @@ import io.questdb.cairo.CairoConfiguration;
 import io.questdb.cairo.CairoEngine;
 import io.questdb.griffin.SqlCompiler;
 import io.questdb.griffin.SqlExecutionContext;
-import io.questdb.griffin.SqlExecutionContextImpl;
 
 public class QuestDbContext {
     private final CairoEngine engine;
@@ -38,7 +37,7 @@ public class QuestDbContext {
     }
 
     public SqlExecutionContext getSqlExecutionContext() {
-        return new SqlExecutionContextImpl(engine, 1);
+        return SqlExecutionContextFactory.getInstance(engine);
     }
 
     public SqlCompiler getCompiler() {
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbDatabaseManager.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbDatabaseManager.java
index 420904328f..492bf947d9 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbDatabaseManager.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbDatabaseManager.java
@@ -21,11 +21,6 @@ import io.questdb.cairo.CairoEngine;
 import io.questdb.cairo.DefaultCairoConfiguration;
 import io.questdb.griffin.SqlCompiler;
 import io.questdb.griffin.SqlExecutionContext;
-import io.questdb.griffin.SqlExecutionContextImpl;
-import org.apache.nifi.util.FileUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.File;
 import java.nio.file.Path;
 import java.util.Arrays;
@@ -33,6 +28,9 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
+import org.apache.nifi.util.FileUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * The database manager is responsible for checking and maintaining the health of the database during startup.
@@ -149,7 +147,7 @@ public final class QuestDbDatabaseManager {
             final CairoEngine engine = new CairoEngine(configuration);
             final SqlCompiler compiler = new SqlCompiler(engine)
         ) {
-            final SqlExecutionContext context = new SqlExecutionContextImpl(engine, 1);
+            final SqlExecutionContext context = SqlExecutionContextFactory.getInstance(engine);
 
             // Node status tables
             compiler.compile(QuestDbQueries.CREATE_GARBAGE_COLLECTION_STATUS, context);
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbWritingTemplate.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbWritingTemplate.java
index db01d7f38a..e93d24bcb9 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbWritingTemplate.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbWritingTemplate.java
@@ -54,7 +54,7 @@ public abstract class QuestDbWritingTemplate<T> {
         }
 
         try (
-            final TableWriter tableWriter = engine.getWriter(context.getCairoSecurityContext(), engine.getTableToken(tableName), "adding rows")
+            final TableWriter tableWriter = engine.getWriter(engine.getTableTokenIfExists(tableName), "adding rows")
         ) {
             addRows(tableWriter, entries);
             tableWriter.commit();
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbContext.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/SqlExecutionContextFactory.java
similarity index 60%
copy from nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbContext.java
copy to nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/SqlExecutionContextFactory.java
index ef28eec2cf..5ac6c19d1a 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/QuestDbContext.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/questdb/SqlExecutionContextFactory.java
@@ -16,36 +16,17 @@
  */
 package org.apache.nifi.controller.status.history.questdb;
 
-import io.questdb.cairo.CairoConfiguration;
 import io.questdb.cairo.CairoEngine;
-import io.questdb.griffin.SqlCompiler;
+import io.questdb.cairo.security.AllowAllSecurityContext;
 import io.questdb.griffin.SqlExecutionContext;
 import io.questdb.griffin.SqlExecutionContextImpl;
 
-public class QuestDbContext {
-    private final CairoEngine engine;
-
-    public QuestDbContext(final CairoEngine engine) {
-        this.engine = engine;
-    }
-
-    public CairoEngine getEngine() {
-        return engine;
-    }
-
-    public CairoConfiguration getConfiguration() {
-        return engine.getConfiguration();
-    }
-
-    public SqlExecutionContext getSqlExecutionContext() {
-        return new SqlExecutionContextImpl(engine, 1);
-    }
-
-    public SqlCompiler getCompiler() {
-        return new SqlCompiler(engine);
+final class SqlExecutionContextFactory {
+    private SqlExecutionContextFactory() {
+        // Not to be instantiated
     }
 
-    public void close() {
-        engine.close();
+    public static SqlExecutionContext getInstance(final CairoEngine engine) {
+        return new SqlExecutionContextImpl(engine, 1).with(AllowAllSecurityContext.INSTANCE, null);
     }
 }