You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by zh...@apache.org on 2020/08/26 06:09:13 UTC

[pulsar] branch branch-2.6 updated: Upgrade Presto version to 332 (#7194)

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

zhaijia pushed a commit to branch branch-2.6
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-2.6 by this push:
     new 2e44cb1  Upgrade Presto version to 332 (#7194)
2e44cb1 is described below

commit 2e44cb15c77dc24aa555c720a16df777a5facfa0
Author: Yuya Ebihara <eb...@gmail.com>
AuthorDate: Sun Jun 14 10:14:19 2020 +0900

    Upgrade Presto version to 332 (#7194)
    
    * Upgrade Presto version to 332
    
    * Update LICENSE file in pulsar-sql module
    
    * Wrap ClassLoaderSafeConnectorMetadata around PulsarMetadata
    
    * Update LICENSE file in pulsar-sql module
    (cherry picked from commit 5d02c70b674a36e5bd36c60e488737db5740d21e)
---
 bin/pulsar                                         |   2 +-
 conf/presto/log.properties                         |   4 +-
 pom.xml                                            |   4 +-
 pulsar-sql/presto-distribution/LICENSE             | 148 ++++++++++++---------
 pulsar-sql/presto-distribution/pom.xml             |   8 +-
 pulsar-sql/presto-pulsar/pom.xml                   |  10 +-
 .../pulsar/sql/presto/JSONSchemaHandler.java       |   2 +-
 .../pulsar/sql/presto/PulsarColumnHandle.java      |   6 +-
 .../pulsar/sql/presto/PulsarColumnMetadata.java    |   4 +-
 .../apache/pulsar/sql/presto/PulsarConnector.java  |  19 +--
 .../pulsar/sql/presto/PulsarConnectorFactory.java  |   8 +-
 .../pulsar/sql/presto/PulsarConnectorModule.java   |   8 +-
 .../pulsar/sql/presto/PulsarHandleResolver.java    |  12 +-
 .../pulsar/sql/presto/PulsarInternalColumn.java    |  10 +-
 .../apache/pulsar/sql/presto/PulsarMetadata.java   |  79 +++++------
 .../org/apache/pulsar/sql/presto/PulsarPlugin.java |   4 +-
 .../pulsar/sql/presto/PulsarRecordCursor.java      |  32 ++---
 .../apache/pulsar/sql/presto/PulsarRecordSet.java  |   6 +-
 .../pulsar/sql/presto/PulsarRecordSetProvider.java |  12 +-
 .../pulsar/sql/presto/PulsarSchemaHandlers.java    |   7 +-
 .../org/apache/pulsar/sql/presto/PulsarSplit.java  |   8 +-
 .../pulsar/sql/presto/PulsarSplitManager.java      |  26 ++--
 .../pulsar/sql/presto/PulsarTableHandle.java       |   4 +-
 .../pulsar/sql/presto/PulsarTableLayoutHandle.java |   6 +-
 .../pulsar/sql/presto/PulsarTransactionHandle.java |   2 +-
 ...k.presto.spi.Plugin => io.prestosql.spi.Plugin} |   0
 .../pulsar/sql/presto/TestAvroSchemaHandler.java   |   4 +-
 .../pulsar/sql/presto/TestPulsarConnector.java     |  22 +--
 .../presto/TestPulsarKeyValueSchemaHandler.java    |   2 +-
 .../pulsar/sql/presto/TestPulsarMetadata.java      |  31 ++---
 .../presto/TestPulsarPrimitiveSchemaHandler.java   |   4 +-
 .../pulsar/sql/presto/TestPulsarSplitManager.java  |  20 +--
 site2/docs/sql-deployment-configurations.md        |   6 +-
 .../version-2.2.0/sql-deployment-configurations.md |   4 +-
 .../versioned_docs/version-2.2.0/sql-overview.md   |   2 +-
 .../version-2.5.0/sql-deployment-configurations.md |   4 +-
 tests/integration/pom.xml                          |   2 +-
 37 files changed, 281 insertions(+), 251 deletions(-)

diff --git a/bin/pulsar b/bin/pulsar
index ffcdf53..7522df9 100755
--- a/bin/pulsar
+++ b/bin/pulsar
@@ -348,7 +348,7 @@ elif [ $COMMAND == "compact-topic" ]; then
     exec $JAVA $OPTS org.apache.pulsar.compaction.CompactorTool --broker-conf $PULSAR_BROKER_CONF $@
 elif [ $COMMAND == "sql" ]; then
     check_presto_libraries
-    exec $JAVA -cp "${PRESTO_HOME}/lib/*" com.facebook.presto.cli.Presto --server localhost:8081 "${@}"
+    exec $JAVA -cp "${PRESTO_HOME}/lib/*" io.prestosql.cli.Presto --server localhost:8081 "${@}"
 elif [ $COMMAND == "sql-worker" ]; then
     check_presto_libraries
     exec ${PRESTO_HOME}/bin/launcher --etc-dir ${PULSAR_PRESTO_CONF} "${@}"
diff --git a/conf/presto/log.properties b/conf/presto/log.properties
index 5f02636..000961f 100644
--- a/conf/presto/log.properties
+++ b/conf/presto/log.properties
@@ -17,7 +17,7 @@
 # under the License.
 #
 
-com.facebook.presto=INFO
+io.prestosql=INFO
 com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory=WARN
 com.ning.http.client=WARN
-com.facebook.presto.server.PluginManager=DEBUG
+io.prestosql.server.PluginManager=DEBUG
diff --git a/pom.xml b/pom.xml
index f8c13b2..167aa3e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -203,7 +203,7 @@ flexible messaging model and an intuitive client API.</description>
     <org.eclipse.jetty-hdfs-offload>9.3.24.v20180605</org.eclipse.jetty-hdfs-offload>
     <test-hdfs-offload-jetty>9.3.24.v20180605</test-hdfs-offload-jetty>
     <elasticsearch.version>6.3.2</elasticsearch.version>
-    <presto.version>0.206</presto.version>
+    <presto.version>332</presto.version>
     <flink.version>1.6.0</flink.version>
     <scala.binary.version>2.11</scala.binary.version>
     <debezium.version>1.0.0.Final</debezium.version>
@@ -1447,7 +1447,7 @@ flexible messaging model and an intuitive client API.</description>
 
             <!-- This is a text property file that contains just a class name -->
             <exclude>**/META-INF/services/com.scurrilous.circe.HashProvider</exclude>
-            <exclude>**/META-INF/services/com.facebook.presto.spi.Plugin</exclude>
+            <exclude>**/META-INF/services/io.prestosql.spi.Plugin</exclude>
 
             <!-- Django generated code -->
             <exclude>**/django/stats/migrations/*.py</exclude>
diff --git a/pulsar-sql/presto-distribution/LICENSE b/pulsar-sql/presto-distribution/LICENSE
index da8bc78..475a9f0 100644
--- a/pulsar-sql/presto-distribution/LICENSE
+++ b/pulsar-sql/presto-distribution/LICENSE
@@ -224,12 +224,12 @@ The Apache Software License, Version 2.0
     - guava-25.1-jre.jar
  * Google Guice
     - guice-4.2.0.jar
+    - guice-4.2.3.jar
     - guice-multibindings-4.2.0.jar
  * Apache Commons
     - commons-math3-3.6.1.jar
     - commons-beanutils-core-1.8.3.jar
     - commons-compress-1.19.jar
-    - commons-lang3-3.3.2.jar
     - commons-lang3-3.6.jar
  * Netty
     - netty-3.10.6.Final.jar
@@ -248,86 +248,92 @@ The Apache Software License, Version 2.0
     - netty-transport-4.1.48.Final.jar
     - netty-transport-native-epoll-4.1.48.Final.jar
     - netty-transport-native-epoll-4.1.48.Final-linux-x86_64.jar
+    - netty-transport-native-kqueue-4.1.48.Final-osx-x86_64.jar
     - netty-transport-native-unix-common-4.1.48.Final.jar
     - netty-transport-native-unix-common-4.1.48.Final-linux-x86_64.jar
-    - netty-transport-native-kqueue-4.1.48.Final-osx-x86_64.jar
  * Joda Time
-    - joda-time-2.9.9.jar
+    - joda-time-2.10.5.jar
     - joda-time-2.10.1.jar
  * Jetty
-    - http2-client-9.4.11.v20180605.jar
-    - http2-common-9.4.11.v20180605.jar
-    - http2-hpack-9.4.11.v20180605.jar
-    - http2-http-client-transport-9.4.11.v20180605.jar
-    - http2-server-9.4.11.v20180605.jar
-    - jetty-alpn-client-9.4.11.v20180605.jar
-    - jetty-client-9.4.11.v20180605.jar
-    - jetty-http-9.4.11.v20180605.jar
-    - jetty-io-9.4.11.v20180605.jar
-    - jetty-jmx-9.4.11.v20180605.jar
-    - jetty-security-9.4.11.v20180605.jar
-    - jetty-server-9.4.11.v20180605.jar
-    - jetty-servlet-9.4.11.v20180605.jar
-    - jetty-util-9.4.11.v20180605.jar
+    - http2-client-9.4.27.v20200227.jar
+    - http2-common-9.4.27.v20200227.jar
+    - http2-hpack-9.4.27.v20200227.jar
+    - http2-http-client-transport-9.4.27.v20200227.jar
+    - http2-server-9.4.27.v20200227.jar
+    - jetty-alpn-client-9.4.27.v20200227.jar
+    - jetty-client-9.4.27.v20200227.jar
+    - jetty-http-9.4.27.v20200227.jar
+    - jetty-io-9.4.27.v20200227.jar
+    - jetty-jmx-9.4.27.v20200227.jar
+    - jetty-security-9.4.27.v20200227.jar
+    - jetty-server-9.4.27.v20200227.jar
+    - jetty-servlet-9.4.27.v20200227.jar
+    - jetty-util-9.4.27.v20200227.jar
   * Asynchronous Http Client
     - async-http-client-1.9.40.jar
   * Apache BVal
     - bval-core-1.1.1.jar
     - bval-jsr-1.1.1.jar
+    - bval-jsr-2.0.0.jar
   * Bytecode
-    - bytecode-1.0.jar
+    - bytecode-1.2.jar
   * CGLIB Nodep
     - cglib-nodep-3.2.5.jar
+    - cglib-nodep-3.3.0.jar
   * Airlift
-    - aircompressor-0.11.jar
     - aircompressor-0.16.jar
     - airline-0.8.jar
     - bootstrap-0.170.jar
-    - bootstrap-0.171.jar
-    - concurrent-0.171.jar
-    - configuration-0.171.jar
+    - bootstrap-0.195.jar
+    - concurrent-0.195.jar
     - configuration-0.170.jar
-    - discovery-0.171.jar
+    - configuration-0.195.jar
+    - discovery-0.195.jar
     - discovery-server-1.29.jar
-    - event-0.171.jar
-    - http-client-0.171.jar
-    - http-server-0.171.jar
-    - jmx-0.171.jar
-    - jmx-http-0.171.jar
+    - event-0.195.jar
+    - http-client-0.195.jar
+    - http-server-0.195.jar
+    - jmx-0.195.jar
+    - jmx-http-0.195.jar
     - jmx-http-rpc-0.159.jar
-    - joni-2.1.5.1.jar
+    - joni-2.1.5.3.jar
     - json-0.170.jar
-    - json-0.171.jar
+    - json-0.195.jar
     - log-0.170.jar
-    - log-0.171.jar
+    - log-0.195.jar
     - log-manager-0.170.jar
-    - log-manager-0.171.jar
-    - node-0.171.jar
-    - resolver-1.4.jar
-    - security-0.171.jar
-    - slice-0.35.jar
-    - stats-0.171.jar
-    - trace-token-0.171.jar
-    - units-1.0.jar
+    - log-manager-0.195.jar
+    - node-0.195.jar
+    - parameternames-1.4.jar
+    - resolver-1.5.jar
+    - security-0.195.jar
+    - slice-0.38.jar
+    - stats-0.195.jar
+    - trace-token-0.195.jar
+    - units-1.6.jar
   * Error Prone Annotations
     - error_prone_annotations-2.1.3.jar
   * Esri Geometry API For Java
-    - esri-geometry-api-2.1.0.jar
+    - esri-geometry-api-2.2.2.jar
+  * Failsafe
+    - failsafe-2.0.1.jar
   * Fastutil
-    - fastutil-6.5.9.jar
+    - fastutil-8.3.0.jar
   * J2ObjC Annotations
     - j2objc-annotations-1.1.jar
   * JSON Web Token Support For The JVM
     - jjwt-0.9.0.jar
   * Jmxutils
-    - jmxutils-1.19.jar
+    - jmxutils-1.21.jar
   * LevelDB
     - leveldb-0.10.jar
     - leveldb-api-0.10.jar
   * Log4j implemented over SLF4J
     - log4j-over-slf4j-1.7.25.jar
+    - log4j-over-slf4j-1.7.29.jar
   * Lucene Common Analyzers
-    - lucene-analyzers-common-7.2.1.jar
+    - lucene-analyzers-common-8.4.1.jar
+    - lucene-core-8.4.1.jar
   * Maven
     - maven-aether-provider-3.0.5.jar
     - maven-artifact-3.0.5.jar
@@ -365,6 +371,7 @@ The Apache Software License, Version 2.0
     - javax.inject-1.jar
     - javax.inject-1.jar
     - javax.servlet-api-3.1.0.jar
+    - javax.servlet-api-4.0.1.jar
     - javax.ws.rs-api-2.1.jar
   * JCommander
     - jcommander-1.48.jar
@@ -375,21 +382,22 @@ The Apache Software License, Version 2.0
   * Okio
     - okio-1.13.0.jar
   * Presto
-    - presto-array-0.206.jar
-    - presto-cli-0.206.jar
-    - presto-client-0.206.jar
-    - presto-geospatial-toolkit-0.206.jar
-    - presto-main-0.206.jar
-    - presto-matching-0.206.jar
-    - presto-memory-context-0.206.jar
-    - presto-parser-0.206.jar
-    - presto-spi-0.206.jar
+    - presto-array-332.jar
+    - presto-cli-332.jar
+    - presto-client-332.jar
+    - presto-geospatial-toolkit-332.jar
+    - presto-main-332.jar
+    - presto-matching-332.jar
+    - presto-memory-context-332.jar
+    - presto-parser-332.jar
+    - presto-plugin-toolkit-332.jar
+    - presto-spi-332.jar
   * RocksDB JNI
     - rocksdbjni-5.13.3.jar
   * SnakeYAML
     - snakeyaml-1.26.jar
   * Bean Validation API
-    - validation-api-1.1.0.Final.jar
+    - validation-api-2.0.1.Final.jar
   * Objectsize
     - objectsize-0.0.12.jar
   * Dropwizard Metrics
@@ -428,6 +436,12 @@ The Apache Software License, Version 2.0
     - commons-logging-1.1.1.jar
   * GSON
     - gson-2.8.2.jar
+  * Jackson
+    - jackson-jaxrs-base-2.8.11.jar
+    - jackson-jaxrs-json-provider-2.8.11.jar
+    - jackson-module-jaxb-annotations-2.8.11.jar
+    - jackson-module-jsonSchema-2.8.11.jar
+    - jackson-module-parameter-names-2.10.0.jar
   * Java Assist
     - javassist-3.25.0-GA.jar
   * Jetty
@@ -439,6 +453,9 @@ The Apache Software License, Version 2.0
     - jetty-util-9.4.29.v20200521.jar
   * Java Native Access
     - jna-4.2.0.jar
+    - jna-5.3.1.jar
+  * Java Object Layout: Core
+    - jol-core-0.2.jar
   * Yahoo Datasketches
     - memory-0.8.3.jar
     - sketches-core-0.8.3.jar
@@ -462,14 +479,16 @@ BSD 3-clause "New" or "Revised" License
     - dsl-json-1.8.4.jar
 
 BSD License
- * ANTLR 4 Runtime -- antlr4-runtime-4.6.jar
+ * ANTLR 4 Runtime -- antlr4-runtime-4.7.1.jar
  * ASM, a very small and fast Java bytecode manipulation framework
-    - asm-6.1.1.jar
-    - asm-analysis-6.0.jar
-    - asm-tree-6.0.jar
-    - asm-util-6.0.jar
+    - asm-6.2.1.jar
+    - asm-analysis-6.2.1.jar
+    - asm-tree-6.2.1.jar
+    - asm-util-6.2.1.jar
  * JLine
-   - jline-2.14.6.jar
+   - jline-reader-3.12.1.jar
+   - jline-terminal-3.12.1.jar
+   - jline-terminal-jna-3.12.1.jar
 
 MIT License
  * Animal Sniffer Annotations
@@ -478,10 +497,11 @@ MIT License
    - pcollections-2.1.2.jar
  * SLF4J
    - slf4j-jdk14-1.7.25.jar
-   - slf4j-api-1.7.12.jar
+   - slf4j-jdk14-1.7.29.jar
    - slf4j-api-1.7.25.jar
  * JCL 1.2 Implemented Over SLF4J
    - jcl-over-slf4j-1.7.25.jar
+   - jcl-over-slf4j-1.7.29.jar
  * JUL to SLF4J Bridge
    - jul-to-slf4j-1.7.25.jar
  * Checker Qual
@@ -494,15 +514,16 @@ CDDL - 1.0
 CDDL-1.1 -- licenses/LICENSE-CDDL-1.1.txt
  * Java Annotations API
    - javax.annotation-api-1.2.jar
-   - javax.annotation-api-1.3.1.jar
+   - javax.annotation-api-1.3.2.jar
    - javax.activation-1.2.0.jar
    - jakarta.activation-api-1.2.1.jar
+   - javax.activation-api-1.2.0.jar
  * HK2 - Dependency Injection Kernel
    - hk2-api-2.5.0-b42.jar
    - hk2-locator-2.5.0-b42.jar
    - hk2-utils-2.5.0-b42.jar
  * Jersey
-    - jaxrs-0.171.jar
+    - jaxrs-0.195.jar
     - jersey-client-2.26.jar
     - jersey-container-servlet-2.26.jar
     - jersey-container-servlet-core-2.26.jar
@@ -511,7 +532,6 @@ CDDL-1.1 -- licenses/LICENSE-CDDL-1.1.txt
     - jersey-server-2.26.jar
     - jersey-common-2.26.jar
  * JAXB
-    - jaxb-api-2.2.6.jar
     - jaxb-api-2.3.1.jar
     - jaxb-impl-2.2.6.jar
 
@@ -524,7 +544,7 @@ CDDL-1.1 -- licenses/LICENSE-CDDL-1.1.txt
      - aether-spi-1.13.1.jar
      - aether-util-1.13.1.jar
   * JTS Core
-     - jts-core-1.15.0.jar
+     - jts-core-1.16.1.jar
   *JGraphT Core
      - jgrapht-core-0.9.0.jar
   * Logback Core Module
diff --git a/pulsar-sql/presto-distribution/pom.xml b/pulsar-sql/presto-distribution/pom.xml
index ff1743e..3dbcf4a 100644
--- a/pulsar-sql/presto-distribution/pom.xml
+++ b/pulsar-sql/presto-distribution/pom.xml
@@ -34,13 +34,13 @@
     <version>2.6.1</version>
 
     <properties>
-        <presto.version>0.206</presto.version>
+        <presto.version>332</presto.version>
         <airlift.version>0.170</airlift.version>
         <objenesis.version>2.6</objenesis.version>
         <objectsize.version>0.0.12</objectsize.version>
         <guice.version>4.2.0</guice.version>
         <!-- Launcher properties -->
-        <main-class>com.facebook.presto.server.PrestoServer</main-class>
+        <main-class>io.prestosql.server.PrestoServer</main-class>
         <process-name>${project.artifactId}</process-name>
         <jackson.version>2.11.1</jackson.version>
         <!--fix Security Vulnerabilities-->
@@ -54,7 +54,7 @@
     <dependencies>
 
         <dependency>
-            <groupId>com.facebook.presto</groupId>
+            <groupId>io.prestosql</groupId>
             <artifactId>presto-main</artifactId>
             <version>${presto.version}</version>
             <exclusions>
@@ -75,7 +75,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.facebook.presto</groupId>
+            <groupId>io.prestosql</groupId>
             <artifactId>presto-cli</artifactId>
             <version>${presto.version}</version>
         </dependency>
diff --git a/pulsar-sql/presto-pulsar/pom.xml b/pulsar-sql/presto-pulsar/pom.xml
index 4bb5ac5..e462c3e 100644
--- a/pulsar-sql/presto-pulsar/pom.xml
+++ b/pulsar-sql/presto-pulsar/pom.xml
@@ -81,9 +81,15 @@
             <version>${dslJson.verson}</version>
         </dependency>
 
+        <dependency>
+            <groupId>io.prestosql</groupId>
+            <artifactId>presto-plugin-toolkit</artifactId>
+            <version>${presto.version}</version>
+        </dependency>
+
         <!-- Presto SPI -->
         <dependency>
-            <groupId>com.facebook.presto</groupId>
+            <groupId>io.prestosql</groupId>
             <artifactId>presto-spi</artifactId>
             <version>${presto.version}</version>
             <scope>provided</scope>
@@ -169,4 +175,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/JSONSchemaHandler.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/JSONSchemaHandler.java
index 8649e41..a31aa41 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/JSONSchemaHandler.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/JSONSchemaHandler.java
@@ -19,10 +19,10 @@
 package org.apache.pulsar.sql.presto;
 
 import com.dslplatform.json.DslJson;
-import com.facebook.presto.spi.type.Type;
 import io.airlift.log.Logger;
 import io.netty.buffer.ByteBuf;
 import io.netty.util.concurrent.FastThreadLocal;
+import io.prestosql.spi.type.Type;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.List;
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarColumnHandle.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarColumnHandle.java
index 2a07f52..2cd85cf 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarColumnHandle.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarColumnHandle.java
@@ -20,12 +20,12 @@ package org.apache.pulsar.sql.presto;
 
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ColumnMetadata;
-import com.facebook.presto.spi.type.Type;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ColumnMetadata;
+import io.prestosql.spi.type.Type;
 import java.util.Arrays;
 import java.util.Objects;
 
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarColumnMetadata.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarColumnMetadata.java
index 789ea7f..a24367d 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarColumnMetadata.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarColumnMetadata.java
@@ -18,8 +18,8 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.ColumnMetadata;
-import com.facebook.presto.spi.type.Type;
+import io.prestosql.spi.connector.ColumnMetadata;
+import io.prestosql.spi.type.Type;
 import java.util.Arrays;
 import java.util.Objects;
 
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnector.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnector.java
index 276ff3f..c932fc0 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnector.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnector.java
@@ -18,18 +18,19 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import static com.facebook.presto.spi.transaction.IsolationLevel.READ_COMMITTED;
-import static com.facebook.presto.spi.transaction.IsolationLevel.checkConnectorSupports;
+import static io.prestosql.spi.transaction.IsolationLevel.READ_COMMITTED;
+import static io.prestosql.spi.transaction.IsolationLevel.checkConnectorSupports;
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.connector.Connector;
-import com.facebook.presto.spi.connector.ConnectorMetadata;
-import com.facebook.presto.spi.connector.ConnectorRecordSetProvider;
-import com.facebook.presto.spi.connector.ConnectorSplitManager;
-import com.facebook.presto.spi.connector.ConnectorTransactionHandle;
-import com.facebook.presto.spi.transaction.IsolationLevel;
 import io.airlift.bootstrap.LifeCycleManager;
 import io.airlift.log.Logger;
+import io.prestosql.plugin.base.classloader.ClassLoaderSafeConnectorMetadata;
+import io.prestosql.spi.connector.Connector;
+import io.prestosql.spi.connector.ConnectorMetadata;
+import io.prestosql.spi.connector.ConnectorRecordSetProvider;
+import io.prestosql.spi.connector.ConnectorSplitManager;
+import io.prestosql.spi.connector.ConnectorTransactionHandle;
+import io.prestosql.spi.transaction.IsolationLevel;
 import javax.inject.Inject;
 
 /**
@@ -68,7 +69,7 @@ public class PulsarConnector implements Connector {
 
     @Override
     public ConnectorMetadata getMetadata(ConnectorTransactionHandle transactionHandle) {
-        return metadata;
+        return new ClassLoaderSafeConnectorMetadata(metadata, getClass().getClassLoader());
     }
 
     @Override
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorFactory.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorFactory.java
index 0da2596..75776fe 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorFactory.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorFactory.java
@@ -21,14 +21,14 @@ package org.apache.pulsar.sql.presto;
 import static com.google.common.base.Throwables.throwIfUnchecked;
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.ConnectorHandleResolver;
-import com.facebook.presto.spi.connector.Connector;
-import com.facebook.presto.spi.connector.ConnectorContext;
-import com.facebook.presto.spi.connector.ConnectorFactory;
 import com.google.inject.Injector;
 import io.airlift.bootstrap.Bootstrap;
 import io.airlift.json.JsonModule;
 import io.airlift.log.Logger;
+import io.prestosql.spi.connector.Connector;
+import io.prestosql.spi.connector.ConnectorContext;
+import io.prestosql.spi.connector.ConnectorFactory;
+import io.prestosql.spi.connector.ConnectorHandleResolver;
 import java.util.Map;
 
 /**
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorModule.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorModule.java
index 3d42ee0..1388bda 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorModule.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorModule.java
@@ -18,18 +18,18 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import static com.facebook.presto.spi.type.TypeSignature.parseTypeSignature;
 import static io.airlift.configuration.ConfigBinder.configBinder;
 import static io.airlift.json.JsonBinder.jsonBinder;
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.type.Type;
-import com.facebook.presto.spi.type.TypeManager;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.deser.std.FromStringDeserializer;
 import com.google.inject.Binder;
 import com.google.inject.Module;
 import com.google.inject.Scopes;
+import io.prestosql.spi.type.Type;
+import io.prestosql.spi.type.TypeId;
+import io.prestosql.spi.type.TypeManager;
 import javax.inject.Inject;
 
 /**
@@ -77,7 +77,7 @@ public class PulsarConnectorModule implements Module {
 
         @Override
         protected Type _deserialize(String value, DeserializationContext context) {
-            return typeManager.getType(parseTypeSignature(value));
+            return typeManager.getType(TypeId.of(value));
         }
     }
 }
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarHandleResolver.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarHandleResolver.java
index 45a0bed..fa91d38 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarHandleResolver.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarHandleResolver.java
@@ -21,12 +21,12 @@ package org.apache.pulsar.sql.presto;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ConnectorHandleResolver;
-import com.facebook.presto.spi.ConnectorSplit;
-import com.facebook.presto.spi.ConnectorTableHandle;
-import com.facebook.presto.spi.ConnectorTableLayoutHandle;
-import com.facebook.presto.spi.connector.ConnectorTransactionHandle;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ConnectorHandleResolver;
+import io.prestosql.spi.connector.ConnectorSplit;
+import io.prestosql.spi.connector.ConnectorTableHandle;
+import io.prestosql.spi.connector.ConnectorTableLayoutHandle;
+import io.prestosql.spi.connector.ConnectorTransactionHandle;
 
 /**
  * This class helps to resolve classes for the Presto connector.
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarInternalColumn.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarInternalColumn.java
index 4f2587b..04e00c5 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarInternalColumn.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarInternalColumn.java
@@ -22,15 +22,15 @@ import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Strings.isNullOrEmpty;
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.type.BigintType;
-import com.facebook.presto.spi.type.IntegerType;
-import com.facebook.presto.spi.type.TimestampType;
-import com.facebook.presto.spi.type.Type;
-import com.facebook.presto.spi.type.VarcharType;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
+import io.prestosql.spi.type.BigintType;
+import io.prestosql.spi.type.IntegerType;
+import io.prestosql.spi.type.TimestampType;
+import io.prestosql.spi.type.Type;
+import io.prestosql.spi.type.VarcharType;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.Consumer;
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarMetadata.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarMetadata.java
index 420232b..01ef01a 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarMetadata.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarMetadata.java
@@ -18,49 +18,49 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import static com.facebook.presto.spi.StandardErrorCode.NOT_FOUND;
-import static com.facebook.presto.spi.StandardErrorCode.NOT_SUPPORTED;
-import static com.facebook.presto.spi.StandardErrorCode.QUERY_REJECTED;
-import static com.facebook.presto.spi.type.DateType.DATE;
-import static com.facebook.presto.spi.type.TimeType.TIME;
-import static com.facebook.presto.spi.type.TimestampType.TIMESTAMP;
+import static io.prestosql.spi.StandardErrorCode.NOT_FOUND;
+import static io.prestosql.spi.StandardErrorCode.NOT_SUPPORTED;
+import static io.prestosql.spi.StandardErrorCode.QUERY_REJECTED;
+import static io.prestosql.spi.type.DateType.DATE;
+import static io.prestosql.spi.type.TimeType.TIME;
+import static io.prestosql.spi.type.TimestampType.TIMESTAMP;
 import static java.util.Objects.requireNonNull;
 import static org.apache.pulsar.sql.presto.PulsarConnectorUtils.restoreNamespaceDelimiterIfNeeded;
 import static org.apache.pulsar.sql.presto.PulsarConnectorUtils.rewriteNamespaceDelimiterIfNeeded;
 import static org.apache.pulsar.sql.presto.PulsarHandleResolver.convertColumnHandle;
 import static org.apache.pulsar.sql.presto.PulsarHandleResolver.convertTableHandle;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ColumnMetadata;
-import com.facebook.presto.spi.ConnectorSession;
-import com.facebook.presto.spi.ConnectorTableHandle;
-import com.facebook.presto.spi.ConnectorTableLayout;
-import com.facebook.presto.spi.ConnectorTableLayoutHandle;
-import com.facebook.presto.spi.ConnectorTableLayoutResult;
-import com.facebook.presto.spi.ConnectorTableMetadata;
-import com.facebook.presto.spi.Constraint;
-import com.facebook.presto.spi.PrestoException;
-import com.facebook.presto.spi.SchemaTableName;
-import com.facebook.presto.spi.SchemaTablePrefix;
-import com.facebook.presto.spi.TableNotFoundException;
-import com.facebook.presto.spi.connector.ConnectorMetadata;
-import com.facebook.presto.spi.type.BigintType;
-import com.facebook.presto.spi.type.BooleanType;
-import com.facebook.presto.spi.type.DateType;
-import com.facebook.presto.spi.type.DoubleType;
-import com.facebook.presto.spi.type.IntegerType;
-import com.facebook.presto.spi.type.RealType;
-import com.facebook.presto.spi.type.SmallintType;
-import com.facebook.presto.spi.type.TimeType;
-import com.facebook.presto.spi.type.TimestampType;
-import com.facebook.presto.spi.type.TinyintType;
-import com.facebook.presto.spi.type.Type;
-import com.facebook.presto.spi.type.VarbinaryType;
-import com.facebook.presto.spi.type.VarcharType;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import io.airlift.log.Logger;
+import io.prestosql.spi.PrestoException;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ColumnMetadata;
+import io.prestosql.spi.connector.ConnectorMetadata;
+import io.prestosql.spi.connector.ConnectorSession;
+import io.prestosql.spi.connector.ConnectorTableHandle;
+import io.prestosql.spi.connector.ConnectorTableLayout;
+import io.prestosql.spi.connector.ConnectorTableLayoutHandle;
+import io.prestosql.spi.connector.ConnectorTableLayoutResult;
+import io.prestosql.spi.connector.ConnectorTableMetadata;
+import io.prestosql.spi.connector.Constraint;
+import io.prestosql.spi.connector.SchemaTableName;
+import io.prestosql.spi.connector.SchemaTablePrefix;
+import io.prestosql.spi.connector.TableNotFoundException;
+import io.prestosql.spi.type.BigintType;
+import io.prestosql.spi.type.BooleanType;
+import io.prestosql.spi.type.DateType;
+import io.prestosql.spi.type.DoubleType;
+import io.prestosql.spi.type.IntegerType;
+import io.prestosql.spi.type.RealType;
+import io.prestosql.spi.type.SmallintType;
+import io.prestosql.spi.type.TimeType;
+import io.prestosql.spi.type.TimestampType;
+import io.prestosql.spi.type.TinyintType;
+import io.prestosql.spi.type.Type;
+import io.prestosql.spi.type.VarbinaryType;
+import io.prestosql.spi.type.VarcharType;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
@@ -140,7 +140,7 @@ public class PulsarMetadata implements ConnectorMetadata {
 
     @Override
     public List<ConnectorTableLayoutResult> getTableLayouts(ConnectorSession session, ConnectorTableHandle table,
-                                                            Constraint<ColumnHandle> constraint,
+                                                            Constraint constraint,
                                                             Optional<Set<ColumnHandle>> desiredColumns) {
 
         PulsarTableHandle handle = convertTableHandle(table);
@@ -167,10 +167,11 @@ public class PulsarMetadata implements ConnectorMetadata {
     }
 
     @Override
-    public List<SchemaTableName> listTables(ConnectorSession session, String schemaNameOrNull) {
+    public List<SchemaTableName> listTables(ConnectorSession session, Optional<String> schemaName) {
         ImmutableList.Builder<SchemaTableName> builder = ImmutableList.builder();
 
-        if (schemaNameOrNull != null) {
+        if (schemaName.isPresent()) {
+            String schemaNameOrNull = schemaName.get();
 
             if (schemaNameOrNull.equals(INFORMATION_SCHEMA)) {
                 // no-op for now but add pulsar connector specific system tables here
@@ -257,10 +258,10 @@ public class PulsarMetadata implements ConnectorMetadata {
         ImmutableMap.Builder<SchemaTableName, List<ColumnMetadata>> columns = ImmutableMap.builder();
 
         List<SchemaTableName> tableNames;
-        if (prefix.getTableName() == null) {
-            tableNames = listTables(session, prefix.getSchemaName());
+        if (!prefix.getTable().isPresent()) {
+            tableNames = listTables(session, prefix.getSchema());
         } else {
-            tableNames = ImmutableList.of(new SchemaTableName(prefix.getSchemaName(), prefix.getTableName()));
+            tableNames = ImmutableList.of(new SchemaTableName(prefix.getSchema().get(), prefix.getTable().get()));
         }
 
         for (SchemaTableName tableName : tableNames) {
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarPlugin.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarPlugin.java
index 850b3f5..af76e72 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarPlugin.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarPlugin.java
@@ -18,9 +18,9 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.Plugin;
-import com.facebook.presto.spi.connector.ConnectorFactory;
 import com.google.common.collect.ImmutableList;
+import io.prestosql.spi.Plugin;
+import io.prestosql.spi.connector.ConnectorFactory;
 
 /**
  * Implementation of the Pulsar plugin for Pesto.
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordCursor.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordCursor.java
index a337189..5381952 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordCursor.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordCursor.java
@@ -18,29 +18,29 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import static com.facebook.presto.spi.StandardErrorCode.NOT_SUPPORTED;
-import static com.facebook.presto.spi.type.BigintType.BIGINT;
-import static com.facebook.presto.spi.type.DateTimeEncoding.packDateTimeWithZone;
-import static com.facebook.presto.spi.type.DateType.DATE;
-import static com.facebook.presto.spi.type.IntegerType.INTEGER;
-import static com.facebook.presto.spi.type.RealType.REAL;
-import static com.facebook.presto.spi.type.SmallintType.SMALLINT;
-import static com.facebook.presto.spi.type.TimeType.TIME;
-import static com.facebook.presto.spi.type.TimestampType.TIMESTAMP;
-import static com.facebook.presto.spi.type.TimestampWithTimeZoneType.TIMESTAMP_WITH_TIME_ZONE;
-import static com.facebook.presto.spi.type.TinyintType.TINYINT;
 import static com.google.common.base.Preconditions.checkArgument;
+import static io.prestosql.spi.StandardErrorCode.NOT_SUPPORTED;
+import static io.prestosql.spi.type.BigintType.BIGINT;
+import static io.prestosql.spi.type.DateTimeEncoding.packDateTimeWithZone;
+import static io.prestosql.spi.type.DateType.DATE;
+import static io.prestosql.spi.type.IntegerType.INTEGER;
+import static io.prestosql.spi.type.RealType.REAL;
+import static io.prestosql.spi.type.SmallintType.SMALLINT;
+import static io.prestosql.spi.type.TimeType.TIME;
+import static io.prestosql.spi.type.TimestampType.TIMESTAMP;
+import static io.prestosql.spi.type.TimestampWithTimeZoneType.TIMESTAMP_WITH_TIME_ZONE;
+import static io.prestosql.spi.type.TinyintType.TINYINT;
 
-import com.facebook.presto.spi.PrestoException;
-import com.facebook.presto.spi.RecordCursor;
-import com.facebook.presto.spi.type.Type;
-import com.facebook.presto.spi.type.VarbinaryType;
-import com.facebook.presto.spi.type.VarcharType;
 import com.google.common.annotations.VisibleForTesting;
 import io.airlift.log.Logger;
 import io.airlift.slice.Slice;
 import io.airlift.slice.Slices;
 import io.netty.buffer.ByteBuf;
+import io.prestosql.spi.PrestoException;
+import io.prestosql.spi.connector.RecordCursor;
+import io.prestosql.spi.type.Type;
+import io.prestosql.spi.type.VarbinaryType;
+import io.prestosql.spi.type.VarcharType;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.List;
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordSet.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordSet.java
index be94a1b..cb186ab 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordSet.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordSet.java
@@ -20,10 +20,10 @@ package org.apache.pulsar.sql.presto;
 
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.RecordCursor;
-import com.facebook.presto.spi.RecordSet;
-import com.facebook.presto.spi.type.Type;
 import com.google.common.collect.ImmutableList;
+import io.prestosql.spi.connector.RecordCursor;
+import io.prestosql.spi.connector.RecordSet;
+import io.prestosql.spi.type.Type;
 import java.util.List;
 
 /**
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordSetProvider.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordSetProvider.java
index c49bae9..80b93b4 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordSetProvider.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarRecordSetProvider.java
@@ -20,13 +20,13 @@ package org.apache.pulsar.sql.presto;
 
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ConnectorSession;
-import com.facebook.presto.spi.ConnectorSplit;
-import com.facebook.presto.spi.RecordSet;
-import com.facebook.presto.spi.connector.ConnectorRecordSetProvider;
-import com.facebook.presto.spi.connector.ConnectorTransactionHandle;
 import com.google.common.collect.ImmutableList;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ConnectorRecordSetProvider;
+import io.prestosql.spi.connector.ConnectorSession;
+import io.prestosql.spi.connector.ConnectorSplit;
+import io.prestosql.spi.connector.ConnectorTransactionHandle;
+import io.prestosql.spi.connector.RecordSet;
 import java.util.List;
 import javax.inject.Inject;
 
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSchemaHandlers.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSchemaHandlers.java
index 359f1af..144f795 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSchemaHandlers.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSchemaHandlers.java
@@ -18,9 +18,10 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import static com.facebook.presto.spi.StandardErrorCode.NOT_SUPPORTED;
 
-import com.facebook.presto.spi.PrestoException;
+import static io.prestosql.spi.StandardErrorCode.NOT_SUPPORTED;
+
+import io.prestosql.spi.PrestoException;
 import java.util.List;
 
 import org.apache.pulsar.client.api.PulsarClientException;
@@ -65,4 +66,4 @@ class PulsarSchemaHandlers {
     static SchemaInfo defaultSchema() {
         return Schema.BYTES.getSchemaInfo();
     }
-}
\ No newline at end of file
+}
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSplit.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSplit.java
index 9893d8f..d281088 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSplit.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSplit.java
@@ -20,15 +20,15 @@ package org.apache.pulsar.sql.presto;
 
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ConnectorSplit;
-import com.facebook.presto.spi.HostAddress;
-import com.facebook.presto.spi.predicate.TupleDomain;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.ImmutableList;
 import io.airlift.log.Logger;
+import io.prestosql.spi.HostAddress;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ConnectorSplit;
+import io.prestosql.spi.predicate.TupleDomain;
 import java.io.IOException;
 import java.util.List;
 import java.util.Map;
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSplitManager.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSplitManager.java
index cce071a..7602c8e 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSplitManager.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarSplitManager.java
@@ -18,27 +18,27 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import static com.facebook.presto.spi.StandardErrorCode.QUERY_REJECTED;
 import static com.google.common.base.Preconditions.checkArgument;
+import static io.prestosql.spi.StandardErrorCode.QUERY_REJECTED;
 import static java.util.Objects.requireNonNull;
 import static org.apache.bookkeeper.mledger.ManagedCursor.FindPositionConstraint.SearchAllAvailableEntries;
 import static org.apache.pulsar.sql.presto.PulsarConnectorUtils.restoreNamespaceDelimiterIfNeeded;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ConnectorSession;
-import com.facebook.presto.spi.ConnectorSplitSource;
-import com.facebook.presto.spi.ConnectorTableLayoutHandle;
-import com.facebook.presto.spi.FixedSplitSource;
-import com.facebook.presto.spi.PrestoException;
-import com.facebook.presto.spi.connector.ConnectorSplitManager;
-import com.facebook.presto.spi.connector.ConnectorTransactionHandle;
-import com.facebook.presto.spi.predicate.Domain;
-import com.facebook.presto.spi.predicate.Range;
-import com.facebook.presto.spi.predicate.TupleDomain;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Predicate;
 import io.airlift.log.Logger;
+import io.prestosql.spi.PrestoException;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ConnectorSession;
+import io.prestosql.spi.connector.ConnectorSplitManager;
+import io.prestosql.spi.connector.ConnectorSplitSource;
+import io.prestosql.spi.connector.ConnectorTableLayoutHandle;
+import io.prestosql.spi.connector.ConnectorTransactionHandle;
+import io.prestosql.spi.connector.FixedSplitSource;
+import io.prestosql.spi.predicate.Domain;
+import io.prestosql.spi.predicate.Range;
+import io.prestosql.spi.predicate.TupleDomain;
 import java.io.IOException;
 import java.sql.Timestamp;
 import java.util.ArrayList;
@@ -94,7 +94,7 @@ public class PulsarSplitManager implements ConnectorSplitManager {
     @Override
     public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session,
                                           ConnectorTableLayoutHandle layout,
-                                          SplitSchedulingStrategy splitSchedulingStrategy) {
+                                          ConnectorSplitManager.SplitSchedulingStrategy splitSchedulingStrategy) {
 
         int numSplits = this.pulsarConnectorConfig.getTargetNumSplits();
 
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTableHandle.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTableHandle.java
index 2ffcfde..d82347b 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTableHandle.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTableHandle.java
@@ -21,10 +21,10 @@ package org.apache.pulsar.sql.presto;
 import static com.google.common.base.MoreObjects.toStringHelper;
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.ConnectorTableHandle;
-import com.facebook.presto.spi.SchemaTableName;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import io.prestosql.spi.connector.ConnectorTableHandle;
+import io.prestosql.spi.connector.SchemaTableName;
 import java.util.Objects;
 
 /**
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTableLayoutHandle.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTableLayoutHandle.java
index 257c2a2..341dc4c 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTableLayoutHandle.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTableLayoutHandle.java
@@ -20,11 +20,11 @@ package org.apache.pulsar.sql.presto;
 
 import static java.util.Objects.requireNonNull;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ConnectorTableLayoutHandle;
-import com.facebook.presto.spi.predicate.TupleDomain;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ConnectorTableLayoutHandle;
+import io.prestosql.spi.predicate.TupleDomain;
 import java.util.Objects;
 
 /**
diff --git a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTransactionHandle.java b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTransactionHandle.java
index 2d1e104..a80b985 100644
--- a/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTransactionHandle.java
+++ b/pulsar-sql/presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarTransactionHandle.java
@@ -18,7 +18,7 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.connector.ConnectorTransactionHandle;
+import io.prestosql.spi.connector.ConnectorTransactionHandle;
 
 /**
  * A handle for transactions.
diff --git a/pulsar-sql/presto-pulsar/src/main/resources/META-INF/services/com.facebook.presto.spi.Plugin b/pulsar-sql/presto-pulsar/src/main/resources/META-INF/services/io.prestosql.spi.Plugin
similarity index 100%
rename from pulsar-sql/presto-pulsar/src/main/resources/META-INF/services/com.facebook.presto.spi.Plugin
rename to pulsar-sql/presto-pulsar/src/main/resources/META-INF/services/io.prestosql.spi.Plugin
diff --git a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestAvroSchemaHandler.java b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestAvroSchemaHandler.java
index 9871264..7b150ea 100644
--- a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestAvroSchemaHandler.java
+++ b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestAvroSchemaHandler.java
@@ -18,8 +18,8 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.type.BigintType;
 import io.netty.buffer.ByteBufAllocator;
+import io.prestosql.spi.type.BigintType;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.avro.Schema;
@@ -124,4 +124,4 @@ public class TestAvroSchemaHandler {
                 message.getSchemaVersion()));
         Assert.assertEquals(foo1.bar.field1, (String)object);
     }
-} 
\ No newline at end of file
+} 
diff --git a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarConnector.java b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarConnector.java
index 9ed0de4..2487cd5 100644
--- a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarConnector.java
+++ b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarConnector.java
@@ -18,17 +18,17 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.predicate.TupleDomain;
-import com.facebook.presto.spi.type.BigintType;
-import com.facebook.presto.spi.type.BooleanType;
-import com.facebook.presto.spi.type.DoubleType;
-import com.facebook.presto.spi.type.IntegerType;
-import com.facebook.presto.spi.type.RealType;
-import com.facebook.presto.spi.type.Type;
-import com.facebook.presto.spi.type.VarcharType;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.airlift.log.Logger;
 import io.netty.buffer.ByteBuf;
+import io.prestosql.spi.predicate.TupleDomain;
+import io.prestosql.spi.type.BigintType;
+import io.prestosql.spi.type.BooleanType;
+import io.prestosql.spi.type.DoubleType;
+import io.prestosql.spi.type.IntegerType;
+import io.prestosql.spi.type.RealType;
+import io.prestosql.spi.type.Type;
+import io.prestosql.spi.type.VarcharType;
 import org.apache.bookkeeper.mledger.AsyncCallbacks;
 import org.apache.bookkeeper.mledger.Entry;
 import org.apache.bookkeeper.mledger.ManagedLedgerConfig;
@@ -81,9 +81,9 @@ import java.util.Map;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import static com.facebook.presto.spi.type.DateType.DATE;
-import static com.facebook.presto.spi.type.TimeType.TIME;
-import static com.facebook.presto.spi.type.TimestampType.TIMESTAMP;
+import static io.prestosql.spi.type.DateType.DATE;
+import static io.prestosql.spi.type.TimeType.TIME;
+import static io.prestosql.spi.type.TimestampType.TIMESTAMP;
 import static org.apache.pulsar.common.protocol.Commands.serializeMetadataAndPayload;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyInt;
diff --git a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarKeyValueSchemaHandler.java b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarKeyValueSchemaHandler.java
index 5e08c84..1fe881e 100644
--- a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarKeyValueSchemaHandler.java
+++ b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarKeyValueSchemaHandler.java
@@ -18,10 +18,10 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.ColumnMetadata;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
+import io.prestosql.spi.connector.ColumnMetadata;
 import java.io.IOException;
 import java.util.LinkedList;
 import java.util.List;
diff --git a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarMetadata.java b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarMetadata.java
index b9a206a..f137c8a 100644
--- a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarMetadata.java
+++ b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarMetadata.java
@@ -18,16 +18,17 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ColumnMetadata;
-import com.facebook.presto.spi.ConnectorSession;
-import com.facebook.presto.spi.ConnectorTableHandle;
-import com.facebook.presto.spi.ConnectorTableMetadata;
-import com.facebook.presto.spi.PrestoException;
-import com.facebook.presto.spi.SchemaTableName;
-import com.facebook.presto.spi.SchemaTablePrefix;
-import com.facebook.presto.spi.TableNotFoundException;
 import io.airlift.log.Logger;
+import io.prestosql.spi.PrestoException;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ColumnMetadata;
+import io.prestosql.spi.connector.ConnectorSession;
+import io.prestosql.spi.connector.ConnectorTableHandle;
+import io.prestosql.spi.connector.ConnectorTableMetadata;
+import io.prestosql.spi.connector.SchemaTableName;
+import io.prestosql.spi.connector.SchemaTablePrefix;
+import io.prestosql.spi.connector.TableNotFoundException;
+import java.util.Optional;
 import org.apache.avro.Schema;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.pulsar.client.admin.PulsarAdminException;
@@ -47,8 +48,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import static com.facebook.presto.spi.StandardErrorCode.NOT_FOUND;
-import static com.facebook.presto.spi.StandardErrorCode.NOT_SUPPORTED;
+import static io.prestosql.spi.StandardErrorCode.NOT_FOUND;
+import static io.prestosql.spi.StandardErrorCode.NOT_SUPPORTED;
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -257,8 +258,8 @@ public class TestPulsarMetadata extends TestPulsarConnector {
     @Test(dataProvider = "rewriteNamespaceDelimiter", singleThreaded = true)
     public void testListTable(String delimiter) {
         updateRewriteNamespaceDelimiterIfNeeded(delimiter);
-        assertTrue(this.pulsarMetadata.listTables(mock(ConnectorSession.class), null).isEmpty());
-        assertTrue(this.pulsarMetadata.listTables(mock(ConnectorSession.class), "wrong-tenant/wrong-ns")
+        assertTrue(this.pulsarMetadata.listTables(mock(ConnectorSession.class), Optional.empty()).isEmpty());
+        assertTrue(this.pulsarMetadata.listTables(mock(ConnectorSession.class), Optional.of("wrong-tenant/wrong-ns"))
                 .isEmpty());
 
         SchemaTableName[] expectedTopics1 = {new SchemaTableName(
@@ -266,7 +267,7 @@ public class TestPulsarMetadata extends TestPulsarConnector {
             new SchemaTableName(PARTITIONED_TOPIC_4.getNamespace(), PARTITIONED_TOPIC_4.getLocalName())
         };
         assertEquals(this.pulsarMetadata.listTables(mock(ConnectorSession.class),
-                NAMESPACE_NAME_3.toString()), Arrays.asList(expectedTopics1));
+                Optional.of(NAMESPACE_NAME_3.toString())), Arrays.asList(expectedTopics1));
 
         SchemaTableName[] expectedTopics2 = {new SchemaTableName(TOPIC_5.getNamespace(), TOPIC_5.getLocalName()),
                 new SchemaTableName(TOPIC_6.getNamespace(), TOPIC_6.getLocalName()),
@@ -274,7 +275,7 @@ public class TestPulsarMetadata extends TestPulsarConnector {
             new SchemaTableName(PARTITIONED_TOPIC_6.getNamespace(), PARTITIONED_TOPIC_6.getLocalName()),
         };
         assertEquals(new HashSet<>(this.pulsarMetadata.listTables(mock(ConnectorSession.class),
-            NAMESPACE_NAME_4.toString())), new HashSet<>(Arrays.asList(expectedTopics2)));
+            Optional.of(NAMESPACE_NAME_4.toString()))), new HashSet<>(Arrays.asList(expectedTopics2)));
     }
 
     @Test(dataProvider = "rewriteNamespaceDelimiter", singleThreaded = true)
diff --git a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarPrimitiveSchemaHandler.java b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarPrimitiveSchemaHandler.java
index 307c299..fc33077 100644
--- a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarPrimitiveSchemaHandler.java
+++ b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarPrimitiveSchemaHandler.java
@@ -18,8 +18,8 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.ColumnMetadata;
 import io.netty.buffer.ByteBufAllocator;
+import io.prestosql.spi.connector.ColumnMetadata;
 import lombok.extern.slf4j.Slf4j;
 
 import org.apache.pulsar.client.impl.schema.BooleanSchema;
@@ -161,4 +161,4 @@ public class TestPulsarPrimitiveSchemaHandler {
         Assert.assertEquals("__value__", columnMetadata.getName());
         Assert.assertEquals("varchar", columnMetadata.getType().toString());
     }
-}
\ No newline at end of file
+}
diff --git a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarSplitManager.java b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarSplitManager.java
index 3f203fb..3d185c9 100644
--- a/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarSplitManager.java
+++ b/pulsar-sql/presto-pulsar/src/test/java/org/apache/pulsar/sql/presto/TestPulsarSplitManager.java
@@ -18,15 +18,15 @@
  */
 package org.apache.pulsar.sql.presto;
 
-import com.facebook.presto.spi.ColumnHandle;
-import com.facebook.presto.spi.ConnectorSession;
-import com.facebook.presto.spi.ConnectorSplitSource;
-import com.facebook.presto.spi.connector.ConnectorTransactionHandle;
-import com.facebook.presto.spi.predicate.Domain;
-import com.facebook.presto.spi.predicate.Range;
-import com.facebook.presto.spi.predicate.TupleDomain;
-import com.facebook.presto.spi.predicate.ValueSet;
 import io.airlift.log.Logger;
+import io.prestosql.spi.connector.ColumnHandle;
+import io.prestosql.spi.connector.ConnectorSession;
+import io.prestosql.spi.connector.ConnectorSplitSource;
+import io.prestosql.spi.connector.ConnectorTransactionHandle;
+import io.prestosql.spi.predicate.Domain;
+import io.prestosql.spi.predicate.Range;
+import io.prestosql.spi.predicate.TupleDomain;
+import io.prestosql.spi.predicate.ValueSet;
 import org.apache.bookkeeper.mledger.impl.PositionImpl;
 import org.apache.pulsar.common.naming.TopicName;
 import org.mockito.invocation.InvocationOnMock;
@@ -41,8 +41,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import static com.facebook.presto.spi.type.TimestampType.TIMESTAMP;
-import static com.facebook.presto.spi.type.IntegerType.INTEGER;
+import static io.prestosql.spi.type.IntegerType.INTEGER;
+import static io.prestosql.spi.type.TimestampType.TIMESTAMP;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.doAnswer;
diff --git a/site2/docs/sql-deployment-configurations.md b/site2/docs/sql-deployment-configurations.md
index b986a54..2348d7a 100644
--- a/site2/docs/sql-deployment-configurations.md
+++ b/site2/docs/sql-deployment-configurations.md
@@ -43,7 +43,7 @@ $ wget pulsar:binary_release_url
 
 ## Deploy a new cluster
 
-Since Pulsar SQL is powered by [Presto](https://prestodb.io), the configuration for deployment is the same for the Pulsar SQL worker. 
+Since Pulsar SQL is powered by [Presto](https://prestosql.io), the configuration for deployment is the same for the Pulsar SQL worker. 
 
 > Note  
 > For how to set up a standalone single node environment, refer to [Query data](sql-getting-started.md). 
@@ -152,7 +152,7 @@ presto> SELECT * FROM system.runtime.nodes;
  2       | http://192.168.2.3:8081 | testversion  | false       | active 
 ```
 
-For more information about deployment in Presto, refer to [Presto deployment](https://prestodb.io/docs/current/installation/deployment.html).
+For more information about deployment in Presto, refer to [Presto deployment](https://prestosql.io/docs/current/installation/deployment.html).
 
 > Note  
-> The broker does not advance LAC, so when Pulsar SQL bypass broker to query data, it can only read entries up to the LAC that all the bookies learned. You can enable periodically write LAC on the broker by setting "bookkeeperExplicitLacIntervalInMills" in the broker.conf.
\ No newline at end of file
+> The broker does not advance LAC, so when Pulsar SQL bypass broker to query data, it can only read entries up to the LAC that all the bookies learned. You can enable periodically write LAC on the broker by setting "bookkeeperExplicitLacIntervalInMills" in the broker.conf.
diff --git a/site2/website/versioned_docs/version-2.2.0/sql-deployment-configurations.md b/site2/website/versioned_docs/version-2.2.0/sql-deployment-configurations.md
index be035ec..4b8d83a 100644
--- a/site2/website/versioned_docs/version-2.2.0/sql-deployment-configurations.md
+++ b/site2/website/versioned_docs/version-2.2.0/sql-deployment-configurations.md
@@ -40,7 +40,7 @@ $ wget pulsar:binary_release_url
 
 Please note that the [Getting Started](sql-getting-started.md) guide shows you how to easily setup a standalone single node enviroment to experiment with.
 
-Pulsar SQL is powered by [Presto](https://prestodb.io) thus many of the configurations for deployment is the same for the Pulsar SQL worker.
+Pulsar SQL is powered by [Presto](https://prestosql.io) thus many of the configurations for deployment is the same for the Pulsar SQL worker.
 
 You can use the same CLI args as the Presto launcher:
 
@@ -149,5 +149,5 @@ presto> SELECT * FROM system.runtime.nodes;
 
 For more information about deployment in Presto, please reference:
 
-[Deploying Presto](https://prestodb.io/docs/current/installation/deployment.html)
+[Deploying Presto](https://prestosql.io/docs/current/installation/deployment.html)
 
diff --git a/site2/website/versioned_docs/version-2.2.0/sql-overview.md b/site2/website/versioned_docs/version-2.2.0/sql-overview.md
index ba4594d..85f66be 100644
--- a/site2/website/versioned_docs/version-2.2.0/sql-overview.md
+++ b/site2/website/versioned_docs/version-2.2.0/sql-overview.md
@@ -7,7 +7,7 @@ original_id: sql-overview
 
 One of the common use cases of Pulsar is storing streams of event data. Often the event data is structured which predefined fields.  There is tremendous value for users to be able to query the existing data that is already stored in Pulsar topics.  With the implementation of the [Schema Registry](concepts-schema-registry.md), structured data can be stored in Pulsar and allows for the potential to query that data via SQL language.
 
-By leveraging [Presto](https://prestodb.io/), we have created a method for users to be able to query structured data stored within Pulsar in a very efficient and scalable manner. We will discuss why this very efficient and scalable in the [Performance](#performance) section below. 
+By leveraging [Presto](https://prestosql.io/), we have created a method for users to be able to query structured data stored within Pulsar in a very efficient and scalable manner. We will discuss why this very efficient and scalable in the [Performance](#performance) section below. 
 
 At the core of this Pulsar SQL is the Presto Pulsar connector which allows Presto workers within a Presto cluster to query data from Pulsar.
 
diff --git a/site2/website/versioned_docs/version-2.5.0/sql-deployment-configurations.md b/site2/website/versioned_docs/version-2.5.0/sql-deployment-configurations.md
index bfcd2c4..e10eadf 100644
--- a/site2/website/versioned_docs/version-2.5.0/sql-deployment-configurations.md
+++ b/site2/website/versioned_docs/version-2.5.0/sql-deployment-configurations.md
@@ -44,7 +44,7 @@ $ wget pulsar:binary_release_url
 
 ## Deploy a new cluster
 
-Since Pulsar SQL is powered by [Presto](https://prestodb.io), the configuration for deployment is the same for the Pulsar SQL worker. 
+Since Pulsar SQL is powered by [Presto](https://prestosql.io), the configuration for deployment is the same for the Pulsar SQL worker. 
 
 > Note  
 > For how to set up a standalone single node environment, refer to [Query data](sql-getting-started.md). 
@@ -153,4 +153,4 @@ presto> SELECT * FROM system.runtime.nodes;
  2       | http://192.168.2.3:8081 | testversion  | false       | active 
 ```
 
-For more information about deployment in Presto, refer to [Presto deployment](https://prestodb.io/docs/current/installation/deployment.html).
\ No newline at end of file
+For more information about deployment in Presto, refer to [Presto deployment](https://prestosql.io/docs/current/installation/deployment.html).
diff --git a/tests/integration/pom.xml b/tests/integration/pom.xml
index 68d3bce..4af36d5 100644
--- a/tests/integration/pom.xml
+++ b/tests/integration/pom.xml
@@ -145,7 +145,7 @@
     </dependency>
 
     <dependency>
-      <groupId>com.facebook.presto</groupId>
+      <groupId>io.prestosql</groupId>
       <artifactId>presto-jdbc</artifactId>
       <version>${presto.version}</version>
       <scope>test</scope>