blob: a1fc5bea38a65877d9163e65c06842f2707f9e8e [file] [log] [blame]
Release Notes - Phoenix - Version 4.0.0-incubating
** New Feature
* [PHOENIX-21] - Support indexes on VIEWs including tenant-specific views
* [PHOENIX-92] - Hive StorageHandler
* [PHOENIX-149] - Support SEQUENCE creation and usage
* [PHOENIX-427] - Allow creating VIEWs on the same physical HBase table
* [PHOENIX-632] - Support equi-joins through broadcast hash join
* [PHOENIX-749] - Support JDBC ARRAY type
** Improvement
* [PHOENIX-10] - Push projection of a single ARRAY element to the server
* [PHOENIX-13] - Provide a "nocache" hint to a query
* [PHOENIX-15] - Allow forcing a memstore flush for a table
* [PHOENIX-16] - Where clause optimization in join queries
* [PHOENIX-17] - Support to make use of partial covered indexes in scan
* [PHOENIX-19] - Enhance JDBC connection of Phoenix to support connecting to a Secure HBase cluster.
* [PHOENIX-31] - Add encode/decode methods for PK values
* [PHOENIX-33] - Support table-wildcard select in join queries
* [PHOENIX-40] - Add support for batching
* [PHOENIX-42] - Provide end2end test command line utility
* [PHOENIX-50] - Convert shell scripts under bin to python script so same scripts can run in unix & windows
* [PHOENIX-68] - Add hint "NO_STAR_JOIN" to indicate if star join optimization should be avoided for multi inner join queries
* [PHOENIX-85] - Refine error handling in HashJoinPlan execution and add warnings
* [PHOENIX-129] - Improve MapReduce-based import
* [PHOENIX-130] - Separate execution of slow (integration) tests from fast unit tests
* [PHOENIX-853] - Support CAST(x as varchar(length)) syntax
* [PHOENIX-856] - Allow phoenix driver reuse after being closed
** Bug
* [PHOENIX-7] - after Connection close, there are still 10 phoenix threads alive
* [PHOENIX-12] - snappy error on osx 64bit
* [PHOENIX-18] - Distinct based aggregations not working correctly when query contains ORDER BY
* [PHOENIX-20] - Single Key(s) not recognized by optimizer when table is salted
* [PHOENIX-22] - Explicitly declare views as read-only or updatable
* [PHOENIX-26] - Unit test ArithmeticQueryTest#testDecimalUpsertSelect fails on HBase 0.94.15
* [PHOENIX-29] - Add custom filter to more efficiently navigate KeyValues in row
* [PHOENIX-30] - NPE on PTable.getColumn(String) if column with same name used in the PK and non PK
* [PHOENIX-32] - Replace generic ColumnModifier with specific SortOrder
* [PHOENIX-34] - Insufficient memory exception on join when RHS rows count > 250K
* [PHOENIX-35] - Perf test memory usage for indexes
* [PHOENIX-37] - Prevent deserialize and re-serialize all array elements in construction of array
* [PHOENIX-38] - Data load time with mutable index is 5X slower than Phoenix 2.2.2, 2.2.3
* [PHOENIX-44] - Cannot create index on tables with case-sensitive schema names
* [PHOENIX-49] - ArrayIndexOutOfBoundsException when creating index
* [PHOENIX-53] - Replace CSV loader with Apache Commons CSV loader
* [PHOENIX-54] - PhoenixSink references jboss channel exception
* [PHOENIX-57] - ClientKeyValue doesn't work in debug mode
* [PHOENIX-58] - Client jars are missing phoenix code
* [PHOENIX-60] - UPSERT SELECT does not increment sequences
* [PHOENIX-61] - Indexing on columns of Date/Timestamp type would lead to ArgumentTypeMismatchException in optimize()
* [PHOENIX-62] - Precision loss for decimal type (no scale specified) when creation of index happens after the record insertion
* [PHOENIX-65] - Timeout in running E2E tests after PHOENIX-42 commit
* [PHOENIX-66] - Support array creation from CSV file
* [PHOENIX-67] - Lazy initialize QueryServices in PhoenixDriver
* [PHOENIX-70] - Add doc for client jar being for a specific Hadoop version
* [PHOENIX-72] - SkipScanFilter intersect may be incorrect for ranges
* [PHOENIX-75] - Add documentation on website describing ARRAY support
* [PHOENIX-76] - Fix perf regression due to PHOENIX-29
* [PHOENIX-77] - Indexes and salting on views is broken
* [PHOENIX-78] - MetaDataUtil must respect ClientKeyValue usage
* [PHOENIX-80] - Improve handing of TableNotFoundException in ConnectionQueryServicesImpl#getTable
* [PHOENIX-82] - Allow ARRAY to be compared and used at end of PK
* [PHOENIX-83] - select with left join when the where condition has right tables, the result is not expected
* [PHOENIX-84] - explain the query plan is not the actually order
* [PHOENIX-89] - Statements are not closed using PhoenixConnection.executeStatements()
* [PHOENIX-90] - MemoryChunk objects might be orphaned when creating new caches in TenantCacheImpl
* [PHOENIX-93] - Add shutdown hook to free any straggling resources
* [PHOENIX-94] - Memory leak in running unit tests on Mac perhaps mini-cluster related
* [PHOENIX-95] - Use catalog argument for tenant in JDBC metadata APIs
* [PHOENIX-96] - Enable use of ClientKeyValueBuilder to reduce memory footprint
* [PHOENIX-97] - Sort columns by COLUMN_NAME for metaData.getPrimaryKey() as dictated by spec
* [PHOENIX-99] - Automatic white list based upgrade from 2.2 to 3.0
* [PHOENIX-100] - Relax compatibility check to only check that the major version matches between the client and server jars
* [PHOENIX-106] - NPE when adding dynamic columns to a salted table
* [PHOENIX-107] - Pass through already normalized strings to CSVLoader
* [PHOENIX-108] - Add testing around multi-tenancy
* [PHOENIX-110] - Indexes with tenant-specific views appear to be broken
* [PHOENIX-113] - Enable usage of ClientKeyValue on for indexing on server
* [PHOENIX-114] - Add Hints so that user can select whether to use "avoid seek optimization" or not
* [PHOENIX-116] - Phoenix array integer types overlap with existing java.sql.Types
* [PHOENIX-118] - Type mismatch error on upsert for unsigned_date and date
* [PHOENIX-119] - Removed unnecessary Expression.getByteSize() method
* [PHOENIX-121] - Metadata query on 2.X fails after upgrade to Phoenix 3.0
* [PHOENIX-122] - SELECT * FROM TABLE ORDER BY NONPK COLUMN doesn't return values for all the columns
* [PHOENIX-123] - Fixed with array should not write any footer
* [PHOENIX-124] - Add one page documentation in markdown for ARRAY support
* [PHOENIX-126] - Use of BOOLEAN in index and/or group by causes exception
* [PHOENIX-127] - Query with pk IS NULL OR pk IN (1,2) return incorrect results
* [PHOENIX-128] - Support coercion and descending sort order for ARRAY
* [PHOENIX-131] - Incorrect determination of total available memory
* [PHOENIX-829] - Uppercase file name if none supplied for CSV import
* [PHOENIX-830] - Add DISCLAIMER file along side NOTICE file
* [PHOENIX-832] - Drop the ".txt" extension on the NOTICE, LICENSE, CHANGES, and README files
* [PHOENIX-834] - Unit tests fail if default locale is not en_US
* [PHOENIX-835] - Datatype statements in CAST operations are case-sensitive
* [PHOENIX-841] - Upserting into tenant-specific view with no where clause fails with an NPE
* [PHOENIX-842] - Use better namespace for maven artifacts
* [PHOENIX-843] - Incorrect java.sql.Types value returned for array types in result set
* [PHOENIX-845] - log4j setting is wrong
* [PHOENIX-846] - Select DISTINCT with LIMIT does full scans
* [PHOENIX-847] - Tenant metadata isolation broken in Connection.getMetaData()
* [PHOENIX-849] - Test StatsManagerIT#testStatsManager is flaky
* [PHOENIX-850] - Optimize ORDER BY and GROUP BY for tenant specific indexes
* [PHOENIX-857] - Duplicate dependency on phoenix-core in phoenix-flume
* [PHOENIX-858] - Disallow null primary key
* [PHOENIX-861] - MapReduce import doesn't use a default array separator
* [PHOENIX-863] - Relax delete check for immutable secondary indexes
* [PHOENIX-865] - Bump utility logging level from INFO to WARN because of too much logging info
* [PHOENIX-871] - Mutable Secondary Indexing can cause a deadlock on exception
* [PHOENIX-872] - getConnection() sometimes fails with a ConcurrentModificationException
* [PHOENIX-875] - NPE when running end2end tests against a live cluster
* [PHOENIX-876] - Remove unnecessary phoenix-*-mapreduce.jar
* [PHOENIX-881] - end2end test fails to run against a live cluster using end2endtest.py
* [PHOENIX-882] - Updatable view should check view condition upon upsert
* [PHOENIX-885] - Metadata ORDINAL_POSITION is off by one if table is salted
* [PHOENIX-887] - Fix upgrade when wildcard used to upgrade everything
* [PHOENIX-891] - Multi-tenant - Upserting values without specifying columns names upserts values in wrong columns
* [PHOENIX-892] - Multi-tenant - Creating index throws NoSuchColumnFamilyException when CF is specified in base table
** Task
* [PHOENIX-25] - Remove @author tags
* [PHOENIX-45] - Insure all source files include the ASF preamble
* [PHOENIX-46] - Use Apache Rat for release compliance checking
* [PHOENIX-622] - Support multi-tenant tables as views
* [PHOENIX-873] - Add missing license headers as discovered by Apache Rat
* [PHOENIX-874] - Update NOTICE file based on http://apache.org/legal/src-headers.html#notice