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

stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix-queryserver.git


The following commit(s) were added to refs/heads/master by this push:
     new 5d24015  PHOENIX-6660 Ship reload4j in queryserver assembly
5d24015 is described below

commit 5d24015e6372bec128f2a031ea1a2dc9f84b7b3e
Author: Istvan Toth <st...@cloudera.com>
AuthorDate: Wed Mar 2 13:59:09 2022 +0100

    PHOENIX-6660 Ship reload4j in queryserver assembly
---
 BUILDING.md                                           | 11 ++++++-----
 bin/phoenix_queryserver_utils.py                      | 11 +++++++++--
 bin/queryserver.py                                    |  8 ++++++--
 bin/sqlline-thin.py                                   |  8 +++++---
 phoenix-queryserver-assembly/pom.xml                  |  7 +++++--
 phoenix-queryserver-assembly/src/assembly/cluster.xml |  9 ++++++++-
 pom.xml                                               | 13 ++++++++++++-
 7 files changed, 51 insertions(+), 16 deletions(-)

diff --git a/BUILDING.md b/BUILDING.md
index c6eeb2a..4b84ede 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -29,8 +29,11 @@ By default, this tarball does not contain a Phoenix client 
jar as it is meant to
 of Phoenix version (one PQS release can be used against any Phoenix version). 
Today, PQS builds against
 the Phoenix 5.1.1 release with HBase 2.4.2.
 
+In order to use Phoenix Query Server, you need to copy the 
phoenix-client-embedded jar appropriate
+for your cluster into the Queryserver root directory.
+
 Note that the resulting Query Server binaries are not tied to any Phoenix, 
Hbase or Hadoop versions,
-and will work with all recent Phoenix versions.
+The current release requires at least Phoenix 4.16.0 or 5.1.0.
 
 ```
 $ mvn clean package
@@ -41,12 +44,10 @@ $ mvn clean package
 To build a release of PQS which packages a specific version of Phoenix, 
specify the `package-phoenix-client` system property
 and specify the `phoenix.version` system property to indicate a specific 
Phoenix version, as well as
 the `phoenix.client.artifactid` to choose the phoenix-client HBase variant.
+You need to bundle the embedded client variant, to avoid conflicts with the 
logging libraries.
 
 ```
-$ mvn clean package -Dpackage.phoenix.client -Dphoenix.version=5.1.1 
-Dphoenix.client.artifactid=phoenix-client-hbase-2.4 -pl 
'!phoenix-queryserver-it'
-```
-```
-$ mvn clean package -Dpackage.phoenix.client 
-Dphoenix.version=4.15.0-HBase-1.4 -Dphoenix.client.artifactid=phoenix-client 
-pl '!phoenix-queryserver-it'
+$ mvn clean package -Dpackage.phoenix.client -Dphoenix.version=5.1.1 
-Dphoenix.client.artifactid=phoenix-client-embedded-hbase-2.4 -pl 
'!phoenix-queryserver-it'
 ```
 
 ### Running integration tests
diff --git a/bin/phoenix_queryserver_utils.py b/bin/phoenix_queryserver_utils.py
index cbc8f1e..02db08b 100755
--- a/bin/phoenix_queryserver_utils.py
+++ b/bin/phoenix_queryserver_utils.py
@@ -82,9 +82,11 @@ def setPath():
     PHOENIX_QUERYSERVER_JAR_PATTERN = "phoenix-queryserver-[!c]*.jar"
     PHOENIX_LOADBALANCER_JAR_PATTERN = 
"load-balancer-*[!t][!e][!s][!t][!s].jar"
     SQLLINE_WITH_DEPS_PATTERN = "sqlline-*-jar-with-dependencies.jar"
-    SLF4J_SIMPLE_JAR_PATTERN = "slf4j-simple-*[!s].jar"
+    SLF4J_BACKEND_JAR_PATTERN = "slf4j-reload4j-*[!s].jar"
+    LOGGING_JAR_PATTERN = "reload4j-*[!s].jar"
 
     OVERRIDE_SLF4J_BACKEND = "PHOENIX_THIN_OVERRIDE_SLF4J_BACKEND"
+    OVERRIDE_LOGGING = "OVERRIDE_LOGGING_JAR_LOCATION"
 
     # Backward support old env variable PHOENIX_LIB_DIR replaced by 
PHOENIX_CLASS_PATH
     global phoenix_class_path
@@ -159,7 +161,12 @@ def setPath():
     global slf4j_backend_jar
     slf4j_backend_jar = os.environ.get(OVERRIDE_SLF4J_BACKEND)
     if slf4j_backend_jar is None or slf4j_backend_jar == "":
-        slf4j_backend_jar = 
findFileInPathWithoutRecursion(SLF4J_SIMPLE_JAR_PATTERN, 
os.path.join(current_dir, "..","lib"))
+        slf4j_backend_jar = 
findFileInPathWithoutRecursion(SLF4J_BACKEND_JAR_PATTERN, 
os.path.join(current_dir, "..","lib"))
+
+    global logging_jar
+    logging_jar = os.environ.get(OVERRIDE_LOGGING)
+    if logging_jar is None or logging_jar == "":
+        logging_jar = findFileInPathWithoutRecursion(LOGGING_JAR_PATTERN, 
os.path.join(current_dir, "..","lib"))
 
     return ""
 
diff --git a/bin/queryserver.py b/bin/queryserver.py
index be17098..24594c3 100755
--- a/bin/queryserver.py
+++ b/bin/queryserver.py
@@ -120,9 +120,13 @@ out_file_path = os.path.join(log_dir, phoenix_out_file)
 #    " -XX:+UnlockCommercialFeatures -XX:+FlightRecorder 
-XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true" + \
 
 # The command is run through subprocess so environment variables are 
automatically inherited
-java_cmd = '%(java)s -cp ' + hbase_conf_dir + os.pathsep + hadoop_conf_dir + 
os.pathsep + \
+java_cmd = '%(java)s -cp ' +\
+    hbase_conf_dir + os.pathsep + \
+    hadoop_conf_dir + os.pathsep + \
+    phoenix_queryserver_utils.slf4j_backend_jar + os.pathsep + \
+    phoenix_queryserver_utils.logging_jar + os.pathsep + \
     phoenix_queryserver_utils.phoenix_client_jar + os.pathsep + \
-    phoenix_queryserver_utils.phoenix_queryserver_jar + os.pathsep + \
+    phoenix_queryserver_utils.phoenix_queryserver_jar + \
     " -Dproc_phoenixserver" + \
     " -Dlog4j.configuration=file:" + 
os.path.join(phoenix_queryserver_utils.current_dir, "log4j.properties") + \
     " -Dpsql.root.logger=%(root_logger)s" + \
diff --git a/bin/sqlline-thin.py b/bin/sqlline-thin.py
index e5ef5f4..b110b22 100755
--- a/bin/sqlline-thin.py
+++ b/bin/sqlline-thin.py
@@ -209,9 +209,11 @@ if (get_hbase_authentication() == 'kerberos' and 
get_spnego_auth_disabled() == '
     jdbc_url += ';authentication=SPNEGO'
 
 java_cmd = java + ' $PHOENIX_OPTS ' + \
-    ' -cp "' + phoenix_queryserver_utils.sqlline_with_deps_jar \
-    + os.pathsep + phoenix_queryserver_utils.phoenix_thin_client_jar + \
-    os.pathsep + phoenix_queryserver_utils.slf4j_backend_jar + '" 
-Dlog4j.configuration=file:' + \
+    ' -cp "' + phoenix_queryserver_utils.sqlline_with_deps_jar + os.pathsep + \
+    phoenix_queryserver_utils.phoenix_thin_client_jar + os.pathsep + \
+    phoenix_queryserver_utils.slf4j_backend_jar + os.pathsep + \
+    phoenix_queryserver_utils.logging_jar +\
+    '" -Dlog4j.configuration=file:' + \
     os.path.join(phoenix_queryserver_utils.current_dir, "log4j.properties") + \
     ' -Djavax.security.auth.useSubjectCredsOnly=false ' + \
     disable_jna + \
diff --git a/phoenix-queryserver-assembly/pom.xml 
b/phoenix-queryserver-assembly/pom.xml
index 5386dd0..c0bec2f 100644
--- a/phoenix-queryserver-assembly/pom.xml
+++ b/phoenix-queryserver-assembly/pom.xml
@@ -48,8 +48,11 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <version>${slf4j.version}</version>
+            <artifactId>slf4j-reload4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.reload4j</groupId>
+            <artifactId>reload4j</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/phoenix-queryserver-assembly/src/assembly/cluster.xml 
b/phoenix-queryserver-assembly/src/assembly/cluster.xml
index f472e83..892ad88 100644
--- a/phoenix-queryserver-assembly/src/assembly/cluster.xml
+++ b/phoenix-queryserver-assembly/src/assembly/cluster.xml
@@ -72,7 +72,14 @@
         <unpack>false</unpack>
         
<outputDirectory>phoenix-queryserver-${project.parent.version}/lib</outputDirectory>
         <includes>
-          <include>org.slf4j:slf4j-simple</include>
+          <include>org.slf4j:slf4j-reload4j</include>
+        </includes>
+      </dependencySet>
+      <dependencySet>
+        <unpack>false</unpack>
+        
<outputDirectory>phoenix-queryserver-${project.parent.version}/lib</outputDirectory>
+        <includes>
+          <include>ch.qos.reload4j:reload4j</include>
         </includes>
       </dependencySet>
     </dependencySets>
diff --git a/pom.xml b/pom.xml
index 8c02ff0..ef7b947 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,7 +84,8 @@
         <commons-io.version>2.11.0</commons-io.version>
         <commons-collections.version>3.2.2</commons-collections.version>
         <sqlline.version>1.9.0</sqlline.version>
-        <slf4j.version>1.7.30</slf4j.version>
+        <slf4j.version>1.7.36</slf4j.version>
+        <reload4j.version>1.2.19</reload4j.version>
         <avatica.version>1.19.0</avatica.version>
         <servlet.api.version>3.1.0</servlet.api.version>
         <jsr305.version>3.0.0</jsr305.version>
@@ -565,6 +566,16 @@
                 <version>${slf4j.version}</version>
             </dependency>
             <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-reload4j</artifactId>
+                <version>${slf4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>ch.qos.reload4j</groupId>
+                <artifactId>reload4j</artifactId>
+                <version>${reload4j.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>net.sourceforge.argparse4j</groupId>
                 <artifactId>argparse4j</artifactId>
                 <version>0.8.1</version>

Reply via email to