Copyright ©2020 Apache Software Foundation. All Rights Reserved.
This repository will build a tarball which is capable of running the Phoenix Query Server.
By default, this tarball does not contain a Phoenix client jar as it is meant to be agnostic of Phoenix version (one PQS release can be used against any Phoenix version). Today, PQS builds against the Phoenix 4.15.0-HBase-1.4 release.
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.
$ 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 for 4.16+ / 5.1+.
$ mvn clean package -Dpackage.phoenix.client -Dphoenix.version=5.1.0-SNAPSHOT -Dphoenix.client.artifactid=phoenix-client-hbase-2.4
mvn package will run the unit tests while building, but it will not run the integration test suite.
The IT suite is run when executing
mvn install or
mvn verify. The Phoenix client artifact specified with
phoenix.client.artifactid is used for running the integration tests.
phoenix.client.artifactid, also specify the HBase version to be used for integration testing by activating the corresponding
When using a Phoenix 5.1+ version, activate the
hbase-2.x profile in addition to the profile for the minor 2.x version.
NOTE that the integration tests cannot be currently run with Phoenix 4.16+ or 5.1+, so the examples below will fail. See https://issues.apache.org/jira/browse/PHOENIX-6324
$ mvn clean verify -Dpackage.phoenix.client -Dphoenix.version=4.16.0-SNAPSHOT -Dphoenix.client.artifactid=phoenix-client-hbase-1.3 -Phbase-1.3
$ mvn clean install -Dpackage.phoenix.client -Dphoenix.version=5.1.0-SNAPSHOT -Dphoenix.client.artifactid=phoenix-client-hbase-2.1 -Phbase-2.1 -Phbase-2.x
Phoenix-queryserver currently supports generating the standard set of Maven Project Info Reports, as well as Spotbugs, Apache Creadur RAT, OWASP Dependency-Check, and Jacoco Code Coverage reports.
To run all available reports
$ mvn clean verify site -Dspotbugs.site
To run OWASP, RAT and Spotbugs, but not Jacoco
$ mvn clean compile test-compile site -Dspotbugs.site
The reports are accessible via
target/site/index.html, under the main project, as well as each of the subprojects. (not every project has all reports)