blob: 31c98e2b9188542b1c30e78035c971b7765d6d11 [file] [log] [blame]
Release Notes - Phoenix - Version 3.3.1
** Improvement
* [PHOENIX-1799] - Provide parameter metadata for prepared create table statements
** Sub-task
* [PHOENIX-1776] - The literal -1.0 (floating point) should not be converted to -1 (Integer)
** Bug
* [PHOENIX-1672] - RegionScanner.nextRaw contract not implemented correctly
* [PHOENIX-1677] - Immutable index deadlocks when number of guideposts are one half of thread pool size
* [PHOENIX-1690] - IndexOutOfBoundsException during SkipScanFilter interesect
* [PHOENIX-1696] - Selecting column more than once fails
* [PHOENIX-1703] - Fail connection when server minor version is less than client minor version
* [PHOENIX-1709] - And expression of primary key RVCs can not compile
* [PHOENIX-1723] - PTinyint.isCoercibleTo fails to test -1 with type PTinyint
* [PHOENIX-1741] - PUnsignedTimestamp should define its codec
* [PHOENIX-1753] - Query with RVC that doesn't lead with the row key can return incorrect results
* [PHOENIX-1798] - UnsupportedOperationException throws from BaseResultIterators.getIterators
Release Notes - Phoenix - Version 3.3.0
** New Feature
* [PHOENIX-1399] - Support cross joins and comma-separated table list
* [PHOENIX-1454] - Map Reduce over Phoenix tables
* [PHOENIX-1552] - Add sandbox environment for trying out Phoenix
* [PHOENIX-1559] - Allow specifying auto-commit mode in the connection URL or connection properties
** Improvement
* [PHOENIX-1127] - Cannot load Timestamp(6) in CSV bulk loader
* [PHOENIX-1300] - Allow sub-queries to choose different execution path other than hash-join
* [PHOENIX-1467] - Upgrade to 4.12 Junit and update tests by removing @Category annotation
* [PHOENIX-1582] - Support TimeOut in JDBC
** Task
* [PHOENIX-1167] - Improve join capabilities
* [PHOENIX-1393] - Add test cases for sub-queries in UPSERT and DELETE statement
** Sub-task
* [PHOENIX-1179] - Support many-to-many joins
* [PHOENIX-1445] - Add unit test for stats not being maintained correctly through splits
* [PHOENIX-1496] - Further reduce work in StatsCollector
* [PHOENIX-1554] - Update join documentation based on many-to-many support
* [PHOENIX-1557] - Add hint to force sort merge join
* [PHOENIX-1558] - Document map-reduce integration
** Bug
* [PHOENIX-1346] - Base exception gets wrapped as incompatible jar exception
* [PHOENIX-1362] - Min/max aggregate query on CHAR and BINARY types always return null
* [PHOENIX-1373] - Ctrl-C out of sqlline causes terminal to be useless
* [PHOENIX-1380] - Potential null dereference in PerformanceLog#getFileOutputStream()
* [PHOENIX-1394] - getColumnDisplaySize() method returns incorrect value for varchar columns
* [PHOENIX-1395] - ResultSpooler spill files are left behind in /tmp folder
* [PHOENIX-1396] - Avoid unnecessary ResultSpooler.bin files creation/deletion every time SpoolingResultIterator is used
* [PHOENIX-1397] - RVC combined with OR on first row key column results in NPE
* [PHOENIX-1401] - SYSTEM.SEQUENCE table is not pre-split as expected
* [PHOENIX-1402] - Don't recalculate stats on split
* [PHOENIX-1403] - Race condition can cause ConnectionQueryServicesImpl to be re-initialized
* [PHOENIX-1404] - PhoenixResultSet.setFetchSize throws SQLFeatureNotSupportedException
* [PHOENIX-1405] - Problem referencing lower-case column names with Phoenix / Pig / Spark
* [PHOENIX-1406] - Use preCompact hook instead of preCompactScannerOpen for stats collection
* [PHOENIX-1407] - PhoenixStatement.getFetchSize() appears to never be used
* [PHOENIX-1408] - Don't disable table before modifying HTable metadata
* [PHOENIX-1413] - Add Phoenix coprocessors with configurable priority
* [PHOENIX-1418] - Optionally display number of parallel chunks in explain plan
* [PHOENIX-1420] - DatabaseMetaData.getschemas returns incorrect column order
* [PHOENIX-1427] - Reduce work in StatsCollector
* [PHOENIX-1429] - Cancel queued threads when limit reached
* [PHOENIX-1431] - DELETE using Subqueries
* [PHOENIX-1432] - Run limit query that has only leading PK column filter serially
* [PHOENIX-1434] - Stats are not maintained correctly through splits
* [PHOENIX-1436] - the choice of index by phoneix is not correct where do querying
* [PHOENIX-1442] - Alter Index double normalize Index Table Name
* [PHOENIX-1446] - Add/fix logging for LIMIT optimization
* [PHOENIX-1447] - Increase guidepost width default to take into account FAST_DIFF compression
* [PHOENIX-1448] - Fix resource leak when work rejected by thread executor
* [PHOENIX-1449] - Fix potential NPE in delete
* [PHOENIX-1451] - Queries with limit against tenant views is broken
* [PHOENIX-1456] - Incorrect query results caused by reusing buffers in SpoolingResultIterator
* [PHOENIX-1463] - phoenix.query.timeoutMs doesn't work as expected
* [PHOENIX-1466] - Prevent multiple scans when query run serially
* [PHOENIX-1469] - Binary columns do not work correctly for indexing
* [PHOENIX-1472] - SaltingUtil calculates wrong salt key for Integer.MIN_VALUE hash code
* [PHOENIX-1474] - NPE when RVC between combined with key part comparison
* [PHOENIX-1476] - Immediately open scanner for parallel queries
* [PHOENIX-1480] - Incorrect query results may occur when VIEW uses indexes from physical table
* [PHOENIX-1484] - Index creation failed due to specifying DEFAULT_COLUMN_FAMILY option
* [PHOENIX-1485] - Date columns should be displayed without timezone offset
* [PHOENIX-1500] - Disallow mutations and queries using PhoenixPreparedStatement.executeQuery() and executeUpdate() respectively.
* [PHOENIX-1503] - Compilation on Mac OS fails on maven-assembly-plugin
* [PHOENIX-1511] - Invalidate stats row even if not running stats due to phoenix.stats.minUpdateFrequency
* [PHOENIX-1533] - Last key part not taken into child/parent optimization
* [PHOENIX-1545] - Add org.iq80.snappy reference to client poms
* [PHOENIX-1560] - Join between global index and data table if INDEX hint used
* [PHOENIX-1575] - Identical sql type values for UNSIGNED_TIMESTAMP and UNSIGNED_DATE
* [PHOENIX-1581] - Client cache not updated after issuing ALTER TABLE statements for setting phoenix table properties
* [PHOENIX-1587] - Error deserializing empty array (which represents null)
* [PHOENIX-1588] - TableNotFoundException when optimizing "SELECT * FROM a tenant-specific table"
* [PHOENIX-1591] - Return all rows instead of no rows if IN clause subquery gets optimized out from semi-join and returns empty result
* [PHOENIX-1600] - Scanner is left unclosed in MetaDataEndpointImpl#doDropTable()
* [PHOENIX-1605] - Update pom to latest stable sqlline release
* [PHOENIX-1606] - Update JDBC version to match release version
* [PHOENIX-1610] - Incorrect subquery results caused by unpaired contextStack push/pop
* [PHOENIX-1616] - Creating a View with a case sensitive column name does not work
* [PHOENIX-1654] - Incorrect group-by keys from ClientAggregatePlan
* [PHOENIX-1667] - Update sqlline to 1.1.8
* [PHOENIX-1669] - Views are not always properly updated with physical table indexes when cached
Release Notes - Phoenix - Version 3.2
** New Features and Sub-task
* [PHOENIX-167] - Support semi/anti-joins
* [PHOENIX-180] - Use stats to guide query parallelization
* [PHOENIX-943] - Handle pushed down post-filters for subquery in joins with limit and non-groupby aggregation
* [PHOENIX-945] - Support correlated subqueries in comparison without ANY/SOME/ALL
* [PHOENIX-1085] - Commonize logic for adding salt byte and adding region start key in ParallelIterators
* [PHOENIX-1168] - Support non-correlated sub-queries in where clause having a comparison operator with no modifier or a comparison operator modified by ANY, SOME or ALL
* [PHOENIX-1259] - Perform partial scan for ANALYZE when table salted or local index
* [PHOENIX-1263] - Only cache guideposts on physical PTable
* [PHOENIX-1264] - Add StatisticsCollector to existing tables on first connection to cluster
* [PHOENIX-1296] - Scan entire region when tenant-specific table is analyzed
* [PHOENIX-1309] - Ensure Phoenix table is created for Local index and view index tables to store guideposts against them
* [PHOENIX-1320] - Update stats atomically
* [PHOENIX-1321] - Cleanup setting of timestamps when collecting and using stats
* [PHOENIX-1322] - Add documentation for UPDATE STATISTICS command
* [PHOENIX-1328] - Update ANALYZE syntax to collect stats on index tables and all tables
* [PHOENIX-1332] - Support correlated subqueries in comparison with ANY/SOME/ALL
* [PHOENIX-1333] - Store statistics guideposts as VARBINARY
* [PHOENIX-1254] - Add REGEXP_SPLIT function
** Bug
* [PHOENIX-105] - Remove org.apache.commons.csv source once available in Maven repo
* [PHOENIX-897] - psql command doesn't allow using certain characters in invocation
* [PHOENIX-941] - Parallelize within regions to prevent rpc timeout
* [PHOENIX-944] - Support derived tables in FROM clause that needs extra steps of client-side aggregation or other processing
* [PHOENIX-954] - View index sequences of a non multi tenant table are not getting deleted after main table drop
* [PHOENIX-973] - Lexer skips unexpected characters
* [PHOENIX-1044] - Phoenix-Pig: No results returned unless all used columns are selected
* [PHOENIX-1050] - Can't load pig bytearray into a phoenix VARBINARY column
* [PHOENIX-1095] - Cannot add column to SYSTEM.CATALOG using Alter Table
* [PHOENIX-1098] - Support CASCADE option on DROP TABLE that drops all VIEWs
* [PHOENIX-1163] - Intersect min/max range with scan range during compilation when salted
* [PHOENIX-1203] - Uable to work for count (distinct col) queries via phoenix table with secondary indexes
* [PHOENIX-1206] - Decimal serialization broken for negative numbers with more than 19 digits of precision
* [PHOENIX-1208] - Check for existence of views doesn't take into account the fact that SYSTEM.CATALOG could be split across regions
* [PHOENIX-1209] - DROP of system table doesn't correctly look for the right kind of table
* [PHOENIX-1211] - Use skip scan when row value constructor uses leading row key columns
* [PHOENIX-1214] - SYSTEM.CATALOG cannot be created when first connection to cluster is tenant-specific
* [PHOENIX-1219] - Salt the SYSTEM.SEQUENCE table
* [PHOENIX-1225] - Evaluation of OR between columns in PK and not in PK incorrect
* [PHOENIX-1228] - NPE in "select max(c1)" when c1 is a CHAR field
* [PHOENIX-1237] - COALESCE Function - type of second parameter
* [PHOENIX-1239] - IN clause (and some others) cannot get moved from HAVING clause to WHERE clause when qualified
* [PHOENIX-1242] - ArrayoutofBoundException Phoenix mapping to exisiting Hbase
* [PHOENIX-1246] - Region server gets aborted with Phoenix exception
* [PHOENIX-1250] - guava dependency out-dated causing NoSuchMethod error
* [PHOENIX-1251] - Salted queries with range scan become full table scans
* [PHOENIX-1252] - Potential lock leak for ungrouped aggregation
* [PHOENIX-1253] - Invalid PreparedStatement.setXXX call should throw SQLException
* [PHOENIX-1257] - Upserted data seen by SELECT in UPSERT SELECT execution
* [PHOENIX-1258] - RegexpSubstrFunction is not useable with group by query
* [PHOENIX-1266] - Disallow setting NOT NULL constraint on non PK columns
* [PHOENIX-1268] - Misleading exception when attempting to drop system table
* [PHOENIX-1271] - Column metadata doesn't hide tenant column on tenant-specific connections.
* [PHOENIX-1272] - Avoid pulling in unintended HBase dependencies in phoenix-core
* [PHOENIX-1273] - Phoenix should provide ILIKE keyword
* [PHOENIX-1275] - SYSTEM.STATS table is not created when SYSTEM.CATALOG is already present
* [PHOENIX-1280] - ColumnProjectionFilter creates too many ImmutableBytesPtrs
* [PHOENIX-1281] - Each MultiKeyValueTuple.setKeyValues creates a new immutable list object
* [PHOENIX-1284] - Override config properties for unit tests not making it to server
* [PHOENIX-1285] - Override default for histogram depth in QueryServicesTestImpl
* [PHOENIX-1288] - Selecting more than 2 array elements via index fails with ArrayIndexOutOfBoundsException
* [PHOENIX-1298] - Queries on fixed width type columns that have an index declared on them don't use that index
* [PHOENIX-1303] - Possible NPE in StatisticCollector#stop
* [PHOENIX-1314] - Assertion tripped for skip scan with two unit tests
* [PHOENIX-1315] - Optimize query for Pig loader
* [PHOENIX-1316] - Improve test coverage of stats framework
* [PHOENIX-1324] - Consolidate code that initializes Scan
* [PHOENIX-1325] - Pass in instead of calculate if we've crossed a region boundary in ScanRanges intersect methods
* [PHOENIX-1327] - Disallow creating arrays of fixed width base type without the max length being specified
* [PHOENIX-1330] - Flag VARBINARY VARBINARY ARRAY declaration in DDL as an error
* [PHOENIX-1337] - Unpadded fixed length tenant ID causes erroneous results
* [PHOENIX-1338] - Logic to group together parallel scans is incorrect
* [PHOENIX-1341] - PhoenixRuntime returns zero exit status on failure
* [PHOENIX-1344] - NTH_VALUE function skips duplicit values in order by
* [PHOENIX-1349] - VIEWs do not inherit indexes from their parent
* [PHOENIX-1353] - CsvBulkLoad doesn't work in secure env
* [PHOENIX-1355] - sqlline.py or psql.py may hang if they're not invoked from bin folder
* [PHOENIX-1357] - Salt sequence table to prevent same RS from getting all sequence calls
* [PHOENIX-1358] - OOB in SchemaUtil.getTableNameFromFullName
* [PHOENIX-1359] - Backward compatibility fails with 4.1 client and current 4.0 branch on server
* [PHOENIX-1360] - NPE in SpoolingResultIterator
* [PHOENIX-1361] - Sequence value goes backwards if sequence validated before reserved
* [PHOENIX-1365] - Make sequence salt buckets configurable
* [PHOENIX-1366] - ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection
* [PHOENIX-1368] - Persist link from VIEW back to its child VIEW
* [PHOENIX-1369] - Add back encode/decode methods as deprecated
* [PHOENIX-1370] - Allow query timeout to differ from RPC timeout
* [PHOENIX-1376] - java.lang.NullPointerException occurs in JDBC driver
* [PHOENIX-1382] - Phoenix 4.2 RC Issue
* [PHOENIX-1385] - Adding, dropping and adding columns fails with NPE
* [PHOENIX-1390] - Stats not updated on client after major compaction
* [PHOENIX-1391] - Remove obsolete hint
** Improvement
* [PHOENIX-619] - Support DELETE over table with immutable index when possible
* [PHOENIX-852] - Optimize child/parent foreign key joins
* [PHOENIX-1030] - Change Expression.isDeterministic() to return a enum of values ALWAYS, PER_STATEMENT, PER_ROW
* [PHOENIX-1216] - Making spooling directory location configurable
* [PHOENIX-1300] - Allow sub-queries to choose different execution path other than hash-join
** Task
* [PHOENIX-761] - Implement getKeyPart for round/ceil/floor of a DECIMAL value
* [PHOENIX-960] - Don't spin mini cluster up and down between tests
* [PHOENIX-1297] - Adding utility methods to get primary key information from the optimized query plan
* [PHOENIX-1310] - Spill files filling up /tmp on server
Previous release - Version 3.1
** Improvement
* [PHOENIX-19] - Enhance JDBC connection of Phoenix to support connecting to a Secure HBase cluster.
* [PHOENIX-890] - Create dev-support script for generating binary and source release tars with hadoop1 and hadoop2 profiles
* [PHOENIX-898] - Extend PhoenixHBaseStorage to specify upsert columns
* [PHOENIX-939] - Generalize SELECT expressions for Pig Loader
* [PHOENIX-950] - Improve Secondary Index Update Failure Handling
* [PHOENIX-982] - Avoid spinning up and tearing down mini cluster in tests
* [PHOENIX-1069] - Improve CsvBulkLoadTool to build indexes when loading data.
* [PHOENIX-1072] - Fast fail sqlline.py when pass wrong quorum string or hbase cluster hasnt' started yet
* [PHOENIX-1101] - Provide a way to create Phoenix Statements on the server side inside a CP
* [PHOENIX-1103] - Remove hash join special case for ChunkedResultIterator
* [PHOENIX-1175] - Add setReadOnly and setFetchSize options
** New Feature
* [PHOENIX-71] - Support sub-joins
* [PHOENIX-983] - Add a function for getting the GMT offset for a given timezone and time
* [PHOENIX-984] - Add support for DECODE built-in function
* [PHOENIX-995] - ADD ENCODE AND LPAD functions
* [PHOENIX-1000] - Support FIRST_VALUE, LAST_VALUE, and NTH_VALUE aggregate functions
* [PHOENIX-1002] - Add support for % operator
* [PHOENIX-1043] - Add function for convert date between timezones
* [PHOENIX-1062] - A SQL Trimmer for log sql execute times
** Sub-task
* [PHOENIX-136] - Support derived tables in from clause
* [PHOENIX-927] - Support derived tables in joins
* [PHOENIX-1038] - Dynamically add INDEX_TYPE column to SYSTEM.CATALOG if not already there
* [PHOENIX-1112] - Atomically rebuild index partially when index update fails
* [PHOENIX-1132] - Merge server side phoenix-hadoop2-compat.jar, phoenix-hadoop-compat.jar and phoenix-<version>.jar
* [PHOENIX-1161] - Prevent necessity of clearing region cache on every access for local indexing
** Bug
* [PHOENIX-3] - TRUNC method doesn't work on column of datatype timestamp
* [PHOENIX-11] - Create Pig Loader
* [PHOENIX-41] - HBase restart ConnectionLoss
* [PHOENIX-63] - Can't add null value to a secondary indexed table
* [PHOENIX-831] - First Connection to Phoenix blows up if it is tenant specific
* [PHOENIX-902] - Allow family qualified names in CSVCommonsLoader
* [PHOENIX-908] - At MetaDataEndpointImpl createTable, print large of Release unknown lockId: 5
* [PHOENIX-909] - Handle scan time range for low time resolution OS
* [PHOENIX-911] - DDL containing only PK cols in the column list doesn't respect HBase specific attributes
* [PHOENIX-915] - Numeric functions ROUND, CEIL, FLOOR return incorrect results for DOUBLE
* [PHOENIX-916] - Time clock skew issue when SYSTEM.CATALOG moves between region servers
* [PHOENIX-920] - SqlLine shows funky characters when running on Windows
* [PHOENIX-924] - Classify PhoenixHBaseStorageTest as an integration test
* [PHOENIX-948] - Pig integration tests don't get run via Maven
* [PHOENIX-951] - Don't push LIMIT as PageFilter for joins
* [PHOENIX-952] - Support ANY and ALL built-ins for ARRAYs
* [PHOENIX-954] - View index sequences of a non multi tenant table are not getting deleted after main table drop
* [PHOENIX-956] - Connection properties ignored
* [PHOENIX-962] - Basic querying fails if the current thread's context classloader is changed
* [PHOENIX-965] - Cannot aggregate on index with NULL values
* [PHOENIX-966] - Phoenix needs to be on the main classpath of SQL tools
* [PHOENIX-969] - java.util.concurrent.TimeoutException while reading the result set
* [PHOENIX-979] - DELETE deletes row when WHERE contains PK fields but other than PK conditions are false
* [PHOENIX-981] - Joins using Phoenix client on v.3.0.0 and server 3.0 head of branch fails on backward compatibility
* [PHOENIX-985] - performance.py script fails to execute queries
* [PHOENIX-986] - Improve error message on CSV import if table not found
* [PHOENIX-987] - Add missing category information to integration tests
* [PHOENIX-988] - The result is not expected when select case when case
* [PHOENIX-989] - problem setting column type of Array to null
* [PHOENIX-990] - OOM caused by order by query returning all rows
* [PHOENIX-991] - IT tests failed on hadoop2
* [PHOENIX-993] - Remove/exclude JRuby dependency
* [PHOENIX-997] - Timestamp date type default format with GMT time zone
* [PHOENIX-1001] - Using NEXT VALUE FOR 'sequence' as an input to a function cause a NPE
* [PHOENIX-1005] - upsert data error after drop index
* [PHOENIX-1008] - Problem initiating and using FLOAT ARRAY Type
* [PHOENIX-1016] - Support MINVALUE, MAXVALUE, and CYCLE options in CREATE SEQUENCE
* [PHOENIX-1032] - Don't compile alternate plans if query is a point lookup
* [PHOENIX-1033] - Update HBase version to 0.94.19 to make connection to secure cluster easier
* [PHOENIX-1034] - Move validate/reserve of sequences into query compile
* [PHOENIX-1037] - Implement getResultSetSqlType for UNSIGNED date/time types
* [PHOENIX-1039] - PhoenixHBaseLoaderIT fails on hadoop-2 profile
* [PHOENIX-1047] - Auto cast - add/sub decimal constant and integer
* [PHOENIX-1048] - tables and sequences should be deleted at different times when scn set at BaseConnectedQueryIT#deletePriorTables
* [PHOENIX-1049] - Secondary indices can cause "ERROR 203 (22005): Type mismatch" in queries involving joins
* [PHOENIX-1052] - Secondary indices can cause "ERROR 504 (42703): Undefined column" in queries involving joins
* [PHOENIX-1053] - UngroupedAggregateRegionObserver make lock unlock
* [PHOENIX-1075] - Mathematical order of operations are improperly evaluated.
* [PHOENIX-1076] - Usage of CAST producing syntax error
* [PHOENIX-1079] - ConnectionQueryServicesImpl : Close HTable after use
* [PHOENIX-1080] - Fix PhoenixRuntime.decodepk for salted tables. Add integration tests.
* [PHOENIX-1083] - IN list of RVC combined with AND doesn't return expected rows
* [PHOENIX-1089] - Row value constructors performance issue with multi-tenant views
* [PHOENIX-1090] - Fix HTable leak in ServerCacheClient
* [PHOENIX-1096] - Duplicate sequence values returned when doing upsert select against a salted table.
* [PHOENIX-1097] - ChunkedResultIteratorFactory.newIterator is not closing the passed iterator resulting in HTable leak.
* [PHOENIX-1100] - Upsert Select with Sequence and Order By doesn't result in sequence getting assigned based on requested ordering
* [PHOENIX-1102] - Query Finds No Rows When Using Multiple Column Families in where clause
* [PHOENIX-1104] - Do not shutdown threadpool when initialization fails
* [PHOENIX-1105] - TableNotFoundException does not get caught if SYSTEM.TABLE is not present for whitelisted upgrade
* [PHOENIX-1109] - PhoenixTestDriver needs to call shutdown on executor
* [PHOENIX-1110] - Fix flappy MultiCfQueryExecIT
* [PHOENIX-1111] - Fix flapping unit tests by removing inappropriate usage of TestUtil.TEST_PROPERTIES
* [PHOENIX-1122] - Ensure TEST_PROPERTIES is not updated to prevent test flapping
* [PHOENIX-1125] - SQLException when connection string is of form jdbc:phoenix:localhost:1234:userName
* [PHOENIX-1130] - SkipScanFilter gets IndexOutOfBoundsException when intersecting salted tables
* [PHOENIX-1131] - PhoenixRuntime.encodePk needs to pad row key values to max column length
* [PHOENIX-1133] - Skip scan intersect method not reseting state correctly
* [PHOENIX-1137] - SkipScanFilter.intersect not called for aggregate queries
* [PHOENIX-1140] - Incorrect padding for row key columns
* [PHOENIX-1141] - Fix HTable resource leak in ConnectionQueryServicesImpl.metaDataCoprocessorExec
* [PHOENIX-1143] - Prevent race condition between creating phoenix connection and closing phoenix driver/connection query services.
* [PHOENIX-1146] - Detect stale client region cache on server and retry scans in split regions
* [PHOENIX-1147] - Ensure data table is sent to client if index table changes states
* [PHOENIX-1154] - Fix hanging tests because metadata is not cleared up
* [PHOENIX-1156] - Don't throw TableNotFoundException when table not found in cache
* [PHOENIX-1157] - Improve abstraction for meta data cache
* [PHOENIX-1162] - Use physical name instead of logical name when recovering from stale region cache
* [PHOENIX-1171] - Dropping the index is not verifying the associated table
* [PHOENIX-1172] - Prevent lock contention in ConnectionQueryServicesImpl. Fix exception handling.
* [PHOENIX-1180] - Rename test classes so they are properly picked up by the test runner
* [PHOENIX-1181] - client cache fails to update itself after a table was altered from a diff client
* [PHOENIX-1183] - phoenix-pig does not work with CDH 5.1
* [PHOENIX-1188] - Performance regression for non-aggregate queries
** Task
* [PHOENIX-539] - Implement parallel scanner that does not spool to disk
* [PHOENIX-674] - Run unit tests in parallel
* [PHOENIX-681] - Enhance JDBC connection of Phoenix to support connecting to a Secure HBase cluster.
* [PHOENIX-788] - Support cast from/to DATE/TIME/TIMESTAMP to/from LONG/UNSIGNED_LONG
* [PHOENIX-828] - Detect if split occurs while ORDER BY query is in progress
* [PHOENIX-1056] - A ImportTsv tool for phoenix to build table data and all index data.
** Test
* [PHOENIX-1136] - Add Integration Tests to verify the fix for PHOENIX-1133
Version 3.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
* [PHOENIX-901] - Ensure ConnectionQueryServices only initialized once
* [PHOENIX-904] - Connection leak during running of upgrade
** 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