These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
Phoenix now sets the CACHE_DATA_ON_WRITE property on the SYSTEM.SEQUENCE table to improve performance.
Phoenix now uses the public Hadoop 3 compatible HBase artifacts where available. At the time of writing, public Hadoop 3 compatible artifacts are only available for HBase 2.5.2 and later.
Fixed division by zero errors, and incorrect results when using round(), ceiling(), floor() functions in the where clause on date/time fields that are part of the primary key.
Server Side upsert selects now cache the HBase connection to the target table on the region server.
Adds a new config parameter, phoenix.max.inList.skipScan.size, which controls the size of an IN clause before it will be automatically converted from a skip scan to a range scan.
Phoenix now supports HBase 2.5. In Phoenix 5.1.x, Tephra support is not available with HBase 2.5. (In 5.2.x Tephra support is fully removed)
The Jackson dependency in Phoenix has been updated to 2.12.6.1
PreparedStatement#getMetaData() no longer fails on parametrized “select next ? values” sequence operations. This also fixes a problem where parametrized sequence operations didn't work via Phoenix Query Server.
The KEEP_DELETED_CELLS property is removed, and the VERSIONS property is set to 1 for the SYSTEM.STATS and SYSTEM.LOG tables on upgrade now.
Phoenix now automatically sets NORMALIZATION_ENABLED=false when creating salted tables.
Phoenix now builds with HBase 2.4.6 and 2.2.7 for the respective hbase profiles.
These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
Fixed command line parsing of double quoted identifiers. The previous workaround of using double doublequotes as a workaround is no longer supported.
These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
Added phoenix-hbase-compat-2.4.1 to support latest patch versions of HBase 2.4 release line.
Although user provided CF can have same column name as one of primary keys, default CF is no longer supported to have same column name as primary key columns.
When updating from an earlier version, and using HBase 2.1.x, HBase 2.2.6 or earlier, HBase 2.3.3 or earlier, or HBase 2.4.0, HBase is unable to clean up WAL files that include data for global indexed tables with the old implementation.
To avoid running out of disk space, use IndexUpgradeTool to upgrade all tables with global indexes, and then restart all region servers as soon as possible.
These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
Added phoenix-shaded-commons-cli to phoenix-thirdparty. This helps avoid classpath conflicts and includes a patch on top of commons-cli 1.4.0 that fixes CLI-254.
Adds mapreduce configuration param “phoenix.mapreduce.external.snapshot.restore” which when set to true indicates that snapshot-based MapReduce jobs shouldn't try to restore the snapshot themselves, but assume an external application has already done so.
When used with HBase 2.2, Phoenix now only support HBase 2.2.5 and later versions. (i.e HBase 2.2.0-2.2.4 are not supported)
There is bug in the Jetty version used by HBase 2.3 and earlier, that causes incompatilbity with Java releases that have a four number version string like “11.0.9.1” As Phoenix builds on top of HBase, Phoenix is also incompatible with these releases, when built with an hbase.profile older than 2.4.
The phoenix-client and phoenix-server JARs have been renamed to include the supported HBase version.
Instead of phoenix-client-<phoenix.version>.jar, the client is now phoenix-client-hbase-<hbase-major.minor>-<phoenix.version>.jar I.e. The Phoenix 4.16 client for Hbase 1.5 is now called phoenix-client-hbase-1.5-5.1.0.jar
The maven coordinates also have also changed to “org.apache.phoenix:phoenix-client-hbase-<hbase-major.minor>:<phoenix.version>”. I.e the Phoenix 4.15.0 client for Hbase 1.5 is “org.apache.phoenix:phoenix-client:4.15.0-HBase-1.5”, but the phoenix client for Phoenix 4.16 is “org.apache.phoenix:phoenix-client-hbase-1.5:4.16.0”
New API for Explain plan queries that can be used for comparison of individual plan attributes.
HBase 2.4 is now supported. (Tested with HBase 2.4.0)
We no longer have generated protobuf Java files available in source code. These files are expected to be generated inline with mvn build. We have also used an optimization with the plugin to ensure protoc is not invoked with mvn build if no .proto file is updated between two consecutive builds.
While upgrading System tables, all system tables where we perform some significant DDL operations, we start taking snapshots of them:
If the upgrade doesn't complete successfully, we should get warning log providing all snapshots taken so far, which can be used to restore some snapshots if required.
A sample Warning log:
Failed upgrading System tables. Snapshots for system tables created so far: {SYSTEM:STATS=SNAPSHOT_SYSTEM.STATS_4.15.x_TO_4.16.0_20201202114411, SYSTEM:CATALOG=SNAPSHOT_SYSTEM.CATALOG_4.15.x_TO_4.16.0_20201202114258, SYSTEM:CHILD_LINK=SNAPSHOT_SYSTEM.CHILD_LINK_4.15.x_TO_4.16.0_20201202114405, SYSTEM:SEQUENCE=SNAPSHOT_SYSTEM.SEQUENCE_4.15.x_TO_4.16.0_20201202114407, SYSTEM:TASK=SNAPSHOT_SYSTEM.TASK_4.15.x_TO_4.16.0_20201202114413}
WARNING: No release note provided for this change.
A new coprocessor endpoint to avoid direct upserts into SYSTEM.TASK from the client.
Introduces a new field in System.Catalog, LAST_DDL_TIMESTAMP, which is the epoch timestamp at which a table or view is created, or last had a column added or dropped. Child views inherit the max ddl timestamp of their ancestors.
We have new split policy introduced for SYSTEM.TASK which for now is just extending DisabledRegionSplitPolicy. As part of an upgrade to 4.16/5.1, updating split policy will be taken care of unless it was already updated manually.
Hence, before 4.16/5.1 upgrade, if operator has already manually updated split policy of SYSTEM.TASK, an exception will be thrown during upgrade to 4.16/5.1 which would mandate an operator intervention to perform:
WARNING: No release note provided for this change.
Phoenix now supports HBase 2.3
Support for HBase 2.0 has been dropped from Phoenix.
WARNING: No release note provided for this change.
Phoenix now supports HBase 2.1 (HBase 2.1.6 and later) and HBase 2.2 (HBase 2.2.1 and later)
WARNING: No release note provided for this change.