Fixed Issues in Phoenix

Review the list of Phoenix issues that are resolved in Cloudera Runtime 7.2.16.

CDPD-40194: The AccessDeniedException is fixed in Hue while creating Phoenix SYSTEM tables. Switched the impersonation method to the supported one for Phoenix driver.
CDPD-39117: If AND and OR filters exist in the query while converting to the Phoenix filters from Spark filters, no parentheses are added to the OR filters. This leads to a wrong filter and finally a wrong data. PHOENIX-6683 fixes this issue by surrounding the OR filters with parentheses while converting Spark filters to Phoenix expressions.
CDPD-35717: CALCITE-903 introduces a transparent reconnection feature, which opens a new server-side connection in case it is expired from the server-side connection cache.
Although this is convenient for most read-only analytical workloads, this can cause a number a problems, including data loss for transactional connections. This patch disables the transparent reconnect feature by default, and also adds the transparent_reconnection property. The feature is re-enabled when the property is set to true.

Apache Patch Information

  • CALCITE-5009 Transparent JDBC connection re-creation may lead to data loss
  • [CALCITE-4752] PreparedStatement#SetObject() fails for BigDecimal values
  • [CALCITE-4676] Avatica client leaks TCP connections
  • [CALCITE-3822] Source distribution must not contain fonts under SIL OFL 1.1 license (category B)
  • PHOENIX-2704] Multilingual decoded problem (DonnyZone)
  • PHOENIX-5894 Table versus Table Full Outer join on Salted tables not … (#1395)
  • PHOENIX-6721 CSV bulkload tool fails with FileNotFoundException if --output points to the S3 location
  • PHOENIX-5894 Table versus Table Full Outer join on Salted tables not working
  • PHOENIX-6646 System tables are not upgraded after namespace migration
  • PHOENIX-6611 Fix IndexTool -snap option and set VERIFIED in PhoenixIndexImportDirectReducer
  • PHOENIX-6601 Fix IndexTools bugs with namespace mapping
  • PHOENIX-6427 Create sequence fails in lowercase schema
  • PHOENIX-6662 Failed to delete when PK with DESC with IN clause (#1509)
  • PHOENIX-6659 RVC query fix for variable column + fixed column (#1507)
  • PHOENIX-6773 PhoenixDatabaseMetadata.getColumns() always returns null COLUMN_DEF
  • PHOENIX-6766 Fix failure of sqlline due to conflicting jline dependency pulled from Hadoop 3.3.
  • PHOENIX-6758 During HBase 2 upgrade PHOENIX Self healing task fails to create server side connection before reading SYSTEM.TASK (#1478)
  • PHOENIX-6753 Update default HBase 2.4 version to 2.4.13
  • PHOENIX-6755 SystemCatalogRegionObserver extends BaseRegionObserver which doesn't exist in hbase-2.4 branch (#1472)
  • PHOENIX-6725 : ConcurrentMutationException when adding column to table/view (addendum)
  • PHOENIX-6725 : ConcurrentMutationException when adding column to table/view (#1452)
  • PHOENIX-6734 Revert default HBase version to 2.4.10
  • PHOENIX-5534 - Cursors With Request Metrics Enabled Throws Exception (#1451)
  • PHOENIX-6710 Revert PHOENIX-3842 Turn on back default bloomFilter for Phoenix Tables (#1436)
  • PHOENIX-6705 PagedRegionScanner#next throws NPE if pagedFilter is not initialized. (#1433)
  • PHOENIX-6699 Phoenix metrics overwriting DefaultMetricsSystem in RegionServers (addendum: set up hbase prefix for ITs)
  • PHOENIX-6699 Phoenix metrics overwriting DefaultMetricsSystem in RegionServers
  • PHOENIX-6665 PreparedStatement#getMetaData() fails on parametrized "select next ? values for SEQ" (addendum: add test)
  • PHOENIX-6665 PreparedStatement#getMetaData() fails on parametrized "select next ? values for SEQ"
  • PHOENIX-6661 Sqlline does not work on PowerPC linux
  • PHOENIX-6646 System tables are not upgraded after namespace migration
  • PHOENIX-6579 ACL check doesn't honor the namespace mapping for mapped views.
  • PHOENIX-6596 Schema extraction double quotes expressions, resulting in un-executabe create statements
  • PHOENIX-5865 Column that has default value can not be correctly indexed
  • PHOENIX-6615 The Tephra transaction processor cannot be loaded anymore.
  • PHOENIX-6611 Fix IndexTool -snap option and set VERIFIED in PhoenixIndexImportDirectReducer
  • PHOENIX-6618 Yetus docker image cannot be built as openjdk 11.0.11 is no longer available
  • PHOENIX-6601 Fix IndexTools bugs with namespace mapping
  • PHOENIX-6583 Inserting explicit Null into a (fixed length) binary field is stored as an array of zeroes
  • PHOENIX-6528 Fix view index read repair for the pks with variable length
  • PHOENIX-6507 DistinctAggregatingResultIterator should keep original tuple order of the AggregatingResultIterator
  • PHOENIX-6498 Fix incorrect Correlated Exists Subquery rewrite when Subquery is aggregate
  • PHOENIX-6578 sqlline.py cannot be started from source tree
  • PHOENIX-6574 Executing "DROP TABLE" drops all sequences
  • PHOENIX-6568 NullPointerException in PHOENIX-queryserver-client not in phoenix-client-hbase
  • PHOENIX-6563 Unable to use 'UPPER'/'LOWER' together with 'IN'
  • PHOENIX-5072 Cursor Query Loops Eternally with Local Index, Returns Fine Without It
  • PHOENIX-6534 Upgrades from pre 4.10 versions are broken
  • PHOENIX-6486 Phoenix uses inconsistent chronologies internally, breaking pre-Gregorian date handling
  • PHOENIX-6506 : Tenant Connection is not able to access/validate Global Sequences (#1261)
  • PHOENIX-6413 Having cannot resolve alias (#1168)
  • PHOENIX-6476 Index tool when verifying from index to data doesn't correctly split page into tasks (#1240) (#1248)
  • PHOENIX-6762 Phoenix QueryServer cannot run correctly with python 3.8+
  • PHOENIX-6727 get_view_names() returning empty list
  • PHOENIX-6661 Sqlline does not work on PowerPC linux
  • PHOENIX-4646 Update to Jetty 9.4.42.v20210604
  • PHOENIX-4196] Consume all data from client before replying with HTTP/401
  • PHOENIX-6841 Depend on omid-codahale-metrics
  • PHOENIX-6800 Remove superfluous semicolon for import statement in UncoveredLocalIndexRegionScanner (#1512)
  • PHOENIX-6798 Eliminate unnecessary reversed scan for AggregatePlan (#1511)
  • PHOENIX-6711 Add support of skipping the system tables existence check during connection initialisation and create new table result iterator which doesn't require fetch meta data of table
  • PHOENIX-6480 Move phoenix-tool and add support with generating default properties (#1245)
  • PHOENIX-6509 PHOENIX-4424 Allow users to create DEFAULT and HBASE Schema (Uppercase Schema Names) (#1263)
  • PHOENIX-6451 Update joni and jcodings versions
  • PHOENIX-3067 Phoenix metrics system should not be started in mini-cluster mode
  • PHOENIX-6767 Traversing through all the guideposts to prepare parallel scans is not required for salted tables when the query is point lookup (#1493)
  • PHOENIX-6751 Force using range scan vs skip scan when using large IN clause (#1496)
  • PHOENIX-6771 Allow only "squash and merge" from GitHub UI
  • PHOENIX-6653 Add upgrade tests based on HBase snapshots
  • PHOENIX-6530 - changed the tenant id generation for uniform distribution load generator (#1453)
  • PHOENIX-6708 Bump junit from 4.13 to 4.13.1
  • PHOENIX-6697 log4j-reload4j is missing from phoenix-assembly
  • PHOENIX-6690 Bump HBase 2.4 version to 2.4.11
  • PHOENIX-6682 Jenkins tests are failing for Java 11.0.14.1
  • PHOENIX-6686 Update Jackson to 2.12.6.1
  • PHOENIX-6679 PHOENIX-6665 changed column name for CURRENT seqence values
  • PHOENIX-6616 Alter table command can be used to set normalization_enabled=true on salted tables
  • PHOENIX-6658 Replace HRegion.get() calls
  • PHOENIX-6663 Use batching when joining data table rows with uncovered local index rows (#1403)
  • PHOENIX-6501 Use batching when joining data table rows with uncovered global index rows (#1399)
  • PHOENIX-6636 Replace bundled log4j libraries with reload4j (addendum: fix python scripts)
  • PHOENIX-6656 Reindent NonAggregateRegionScannerFactory
  • PHOENIX-6458 Using global indexes for queries with uncovered columns (#1256)
  • PHOENIX-6636 Replace bundled log4j libraries with reload4j
  • PHOENIX-6645 Remove unneccessary SCN related properties from SYSTEM tables on upgrade
  • PHOENIX-6576 Do not use guava's Files.createTempDir()
  • PHOENIX-6441 Remove TSOMockModule reference from OmidTransactionProvider (addendum:split TransactionServiceManager to avoid CNFE with -Dwithout.tephra)
  • PHOENIX-6441 Remove TSOMockModule reference from OmidTransactionProvider
  • PHOENIX-6638 Test suite fails with -Dwithout.tephra
  • PHOENIX-6591 Update OWASP plugin to latest
  • PHOENIX-6604 Allow using indexes for wildcard topN queries on salted tables
  • PHOENIX-6582 Bump default HBase version to 2.3.7 and 2.4.8
  • PHOENIX-6600 Replace deprecated getCall with updated getRpcCall (#1361) (#1356)
  • PHOENIX-6594 Clean up vararg warnings flagged as errors by Eclipse
  • PHOENIX-6592 PhoenixStatsCacheLoader uses non-deamon threads
  • PHOENIX-6586 Set NORMALIZATION_ENABLED to false on salted tables
  • PHOENIX-6561 : Allow pherf to intake phoenix Connection properties as argument. (#1322)
  • PHOENIX-6577 phoenix_sandbox.py incompatible with python3
  • PHOENIX-6472 In case of region inconsistency phoenix should stop gracefully
  • PHOENIX-6344: CASCADE on ALTER should NOOP when there are no secondary indexes (#1135)
  • PHOENIX-6555 Wait for permissions to sync in Permission tests
  • PHOENIX-6548: Throw IOException instead of IllegalArgumentException when RS crashes during index rebuilds (#1329)
  • PHOENIX-6557 Fix code problems flagged by SpotBugs as High priority
  • PHOENIX-6556 Log INPUT_TABLE_CONDITIONS for MR jobs
  • PHOENIX-6551 Bump HBase version to 2.4.6 and 2.2.7
  • PHOENIX-6550 Upgrade jetty, jackson and commons-io
  • PHOENIX-6546 BackwardCompatibilityIT#testSystemTaskCreationWithIndexAsyncRebuild is flakey
  • PHOENIX-6526 Bump default HBase version on 2.3 profile to 2.3.6
  • PHOENIX-6480 Move phoenix-tool and add support with generating default properties (#1245)
  • PHOENIX-6519 Make SchemaTool work with lower case table and column names
  • PHOENIX-6518 Implement SHOW CREATE TABLE SQL command
  • PHOENIX-6454: Add feature to SchemaTool to get the DDL in specification (Addendum) (#1233)
  • PHOENIX-6454: Add feature to SchemaTool to get the DDL in specification mode (#1229)
  • PHOENIX-6515 Phoenix uses hbase-testing-util but does not list it as a dependency
  • PHOENIX-6405 Disallow bulk loading into non-empty tables with global secondary indexes
  • PHOENIX-6514 Exception should be thrown
  • PHOENIX-6509 PHOENIX-4424 Allow users to create DEFAULT and HBASE Schema (Uppercase Schema Names) (#1263)
  • PHOENIX-6770 set Log4j dependencies to provided
  • PHOENIX-6683 Surround the OR filters with parentheses while convertin… (#73)
  • PHOENIX-6694 Avoid unnecessary calls of fetching table meta data to region servers holding the system tables in batch oriented jobs in spark or hive otherwise those RS become hotspot
  • PHOENIX-6450 Checkstyle creating warnings for line length > 80 but < 100