Skip to content
This repository has been archived by the owner on Feb 12, 2022. It is now read-only.

Release Notes

mujtabachohan edited this page Dec 6, 2013 · 50 revisions

The follow page details the fixes made at each Phoenix release.

Phoenix v 2.2.0

Phoenix v 2.1.0

  • Secondary Indexes to create and automatically maintain global indexes over your primary table for both mutable and immutable data. Queries automatically use an index when more efficient, turning your full table scans into point and range scans.
  • Row Value Constructors, a standard SQL construct to efficiently locate the row at or after a composite key value. Enables query-more capability and optimizes IN list of composite key values to be point gets.
  • Map-reduce based CSV Bulk Loader to build Phoenix-compliant HFiles and load them into HBase.
  • MD5 and INVERT built-in functions.
  • Auto padding of CHAR types
  • Many bug fixes
  • Requires HBase 0.94.4 or above, with 0.94.10 or above required for mutable secondary indexing. For the best performance, we recommend HBase 0.94.12 or above.

Phoenix v 2.0.2

  • Support Secondary Indexes (only for tables with immutable rows)
  • Support COUNT DISTINCT, PERCENTILE, and STDDEV aggregate functions
  • Support ORDER BY when no LIMIT is specified
  • Support TINYINT, SMALLINT, FLOAT, and DOUBLE types (and the equivalent unsigned types for mapping to existing HBase data created through the Bytes utility methods)
  • Allows nullable row key columns to be added to existing schema (with no data upgrade necessary)
  • 3-4x performance improvement for UPSERT SELECT and DELETE (when they must be run on the client side)
  • Fixes compatibility issue with HBase 0.94.11 link
  • Requires HBase 0.94.4 or above (HBase 0.94.7 recommended)
  • Must run bin/upgradeTo2.sh script to convert existing Phoenix v 1.2.1 data to modified row key format (trailing null values are in row key are stripped)

Phoenix v 1.2.1

  • Fix issue with Phoenix running on HBase CDH4.3 and MAPR release
  • Fix issue with ORDER BY on a pk column in DESC order
  • Set dynamic columns columns at UPSERT time
  • Server side SQLExceptions make it back to client
  • Requires HBase 0.94.4 or above (HBase 0.94.7 recommended)

Phoenix v 1.2.0

  • Improve performance of multi-point and multi-range queries (20-1000x)
  • Support TopN queries (3-70x faster than Hive)
  • Declare primary key columns as ascending/descending
  • Salt tables declaratively to prevent hot spotting
  • Specify columns dynamically at query time
  • Write Phoenix-compliant HFiles from Pig scripts and Map/Reduce jobs
  • Support SELECT DISTINCT
  • Leverage essential column family feature
  • Bundle command line terminal interface
  • Specify scale and precision on decimal type
  • Support fixed length binary type
  • Add TO_CHAR, TO_NUMBER, COALESCE, UPPER, LOWER, and REVERSE built-in functions
  • Requires HBase 0.94.4 or above (HBase 0.94.7 recommended)

Phoenix v 1.1

  • Performance improvement of approximately 10% for aggregate queries and 25% for non aggregate queries thanks to the great work by Lars Hofhansl and the rest of the HBase team.
  • Not backward compatible due to new methods introduced on the HBase RegionScanner interface.
  • Meta data on each Phoenix table is automatically modified upon the first connection to a cluster due to an HBase change in behavior in class resolution for coprocessors. Each Phoenix table is disabled, modified by nulling out the jar file path for the Phoenix coprocessors, and then re-enabled. The change is transparent, but the tables will be inaccessible while disabled.
  • Summary of improvements
    • Support for HBase 0.94.4 and above
    • Port number specified on connection string is honored
    • Root node may be specified on connection string, following the zookeeper quorum and optional port number
    • SQL exceptions include SQL state and error code
    • Prevent potential OOM error during DROP TABLE, DELETE, and UPDATE SELECT when executed in coprocessor by batching mutations based on phoenix.mutate.batchSize config value
    • Fixes for multi-byte support for built-in string manipulation functions
    • Fixes for building and running tests on Mac
    • Added support for running FindBugs
    • Added support for building Javadocs
  • Complete list of fixed issues [here] (https://github.com/forcedotcom/phoenix/issues?milestone=2&state=closed)
  • Requires HBase 0.94.4 or above.

Phoenix v 1.0

  • Known bugs include:
    • Port number specified in connection string is ignored. The default port is always used. The workaround, if not using the default port, is to specify the port number in your hbase-site.xml config file
    • OOM errors occur when running tests on Mac, leading to lots of failures
    • Multi-byte tests fail when running on the Mac. Workaround is to change the default encoding.
  • Requires HBase 0.94.2 or 0.94.3.
Clone this wiki locally