Fixed Issues in Phoenix
Review the list of Phoenix issues that are resolved in Cloudera Runtime 7.1.9.
- PHOENIX-6881 Implement the applicable Date/Time features from JDBC 4.2
 - Phoenix now supports setting and retrieving java.time.LocalDate, java.time.LocalDateTime, and java.time.LocalTime objects through the ResultSet.getObject() and PreparedStatement.setObject() APIs, as defined by JDBC 4.2.
 
Apache patch information
Changes in Phoenix:
- PHOENIX-6959: Server merges are not used for hinted uncovered indexes for wildcard selects on 5.1
 - PHOENIX-6984: Fix fallback to skip-join-merge for hinted global indexes
 - PHOENIX-6966: UngroupedAggregateRegionScanner.insertEmptyKeyValue() writes wrong qualifier for encoded CQ tables
 - PHOENIX-6965: UngroupedAggregateRegionScanner.insertEmptyKeyValue() generates too many cells
 - PHOENIX-6969: While using order in some hinted uncovered queries, a ColumnAlreadyExistsException is thrown
 - PHOENIX-6953: Creating indexes on a table with old indexing leads to inconsistent co-processors
 - PHOENIX-6873: Use cached connection in IndexHalfStoreFileReaderGenerator
 - PHOENIX-6874: Support older HBase versions with broken ShortCircuitConnection
 - PHOENIX-6872: Use ServerUtil.ConnectionFactory.getConnection() in UngroupedAggregateRegionScanner
 - PHOENIX-6395: Reusing connection instance object instead of creating everytime in PhoenixAccessController class
 - PHOENIX-5066: The TimeZone is incorrectly used during writing or reading data
 - PHOENIX-6823: Calling Joda-based round() function on temporal PK field causes division by zero error
 - PHOENIX-6889: Improve extraction of ENCODED_QUALIFIERs
 - PHOENIX-6720: CREATE TABLE can not recreate column encoded tables that had columns dropped
 - PHOENIX-6855: Upgrade from 4.7 to 5+ fails if any of the local indexes exist
 - PHOENIX-6818: Remove dependency on the i18n-util library
 - PHOENIX-6841: Depend on omid-codahale-metrics
 - PHOENIX-6834: Use pooled HConnection for server side upsert select
 - PHOENIX-5894: Table versus Table Full Outer join on Salted tables not working
 - PHOENIX-6800: Remove superfluous semicolon for import statement in UncoveredLocalIndexRegionScanner
 - PHOENIX-6798: Eliminate unnecessary reversed scan for AggregatePlan
 - PHOENIX-6653: Add upgrade tests based on HBase snapshots
 - PHOENIX-6721: CSV bulkload tool fails with FileNotFoundException if --output points to the S3 location
 - 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-6480: SchemaExtractionProcessor does not add IMMUTABLE_STORAGE_SCHEME and COLUMN_ENCODED_BYTES to the generated SQL
 - PHOENIX-6509: Forward port PHOENIX-4424 Allow users to create "DEFAULT" and "HBASE" Schema (Uppercase Schema Names)
 - PHOENIX-6427: Create sequence fails in lowercase schema
 - PHOENIX-6451: Update junit and jcodings versions
 - PHOENIX-3067: Phoenix metrics system should not be started in mini-cluster mode
 - PHOENIX-6662: Failed to delete rows when PK has one or more DESC column with IN clause
 - PHOENIX-6659: RVC with AND clauses return incorrect result
 - PHOENIX-6773: PhoenixDatabaseMetadata.getColumns() always returns null COLUMN_DEF
 - PHOENIX-6767: Traversing through all the guideposts to prepare parallel scans is not required for salted tables when the query is point lookup
 - PHOENIX-6751: Force using range scan vs skip scan when using the IN operator and large number of RVC elements
 - PHOENIX-6771: Allow only "squash and merge" from GitHub UI
 - 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
 - PHOENIX-6753: Update default HBase 2.4 version to 2.4.13
 - PHOENIX-6755: SystemCatalogRegionObserver extends BaseRegionObserver which does not exist in hbase-2.4 branch
 - PHOENIX-6733: Ref count leaked test failures
 - PHOENIX-6725: ConcurrentMutationException when adding column to table view
 - PHOENIX-6530: Fix tenantId generation for Sequential and Uniform load generators
 - PHOENIX-5534: Cursors with request metrics enabled throws exception
 - PHOENIX-6710: Revert PHOENIX-3842 Turn on back default bloomFilter for Phoenix Tables
 - PHOENIX-6705: PagedRegionScanner next throws NPE if pagedFilter is not initialized
 - PHOENIX-6699: Phoenix metrics overwriting DefaultMetricsSystem in RegionServers
 - PHOENIX-6697: log4j-reload4j is missing from phoenix-assembly
 - 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-6665: PreparedStatement#getMetaData() no longer fails on parametrized "select next ? values" sequence operations
 - PHOENIX-6658: Replace HRegion.get() calls
 - PHOENIX-6661: Sqlline does not work on PowerPC linux
 - PHOENIX-6636: Replace bundled log4j libraries with reload4j
 - PHOENIX-6656: Reindent NonAggregateRegionScannerFactory
 - 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
 - PHOENIX-6638: Test suite fails with -Dwithout.tephra
 - PHOENIX-6591: Update OWASP plugin to latest
 - PHOENIX-6579: ACL check does not 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-6618: Yetus docker image cannot be built as openjdk 11.0.11 is no longer available
 - PHOENIX-6604: Allow using indexes for wildcard topN queries on salted tables
 - PHOENIX-6600: Replace deprecated getCall with updated getRpcCall
 - PHOENIX-6594: Clean up vararg warnings flagged as errors by Eclipse
 - PHOENIX-6592: PhoenixStatsCacheLoader uses non-deamon threads
 - PHOENIX-6583: Inserting explicit Null into a (fixed length) binary field is stored as an array of zeroes
 - PHOENIX-6577: phoenix_sandbox.py incompatible with python3
 - PHOENIX-6528: When view index pk has a variable length column, read repair does not work correctly
 - PHOENIX-6507: DistinctAggregatingResultIterator should keep original tuple order of the AggregatingResultIterator
 - PHOENIX-6498: Fix incorrect Correlated Exists Subquery rewrite when Subquery is aggregate
 - PHOENIX-6472: In case of region inconsistency Phoenix should stop gracefully
 - PHOENIX-6344: CASCADE on ALTER should NOOP when there are no secondary indexes
 - PHOENIX-6555: Wait for permissions to sync in permission tests
 - 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-6548: Race condition when triggering index rebuilds as RegionServer closes
 - PHOENIX-6558: Update SpotBugs
 - PHOENIX-6563: Unable to use 'UPPER'/'LOWER' together with 'IN'
 - PHOENIX-6557: Fix code problems flagged by SpotBugs as high priority
 - PHOENIX-6556: Log INPUT_TABLE_CONDITIONS for MR jobs
 - PHOENIX-6550: Upgrade jetty, jackson and commons-io
 - PHOENIX-6546: BackwardCompatibilityIT testSystemTaskCreationWithIndexAsyncRebuild is flaky
 - PHOENIX-6547: BasePermissionsIT is still a bit flaky
 - PHOENIX-6543: De-flake AuditLoggingIT
 - PHOENIX-5072: Cursor query loops eternally with local index, returns fine without it
 - PHOENIX-6542: WALRecoveryRegionPostOpenIT is flaky
 - PHOENIX-6534: Upgrades from previous 4.10 versions are broken
 - PHOENIX-6486: Phoenix uses inconsistent chronologies internally, breaking pre-Gregorian date handling
 - PHOENIX-6519: Make SchemaTool work with lower case table and column names
 - PHOENIX-6518: Implement SHOW CREATE TABLE SQL command
 - PHOENIX-6506: Tenant Connection is not able to access or validate Global Sequences
 - PHOENIX-6454: Add feature to SchemaTool to get the DDL in specification mode
 - PHOENIX-6450: Checkstyle check is creating warnings for line length which are greater than 80
 - PHOENIX-6413: Having cannot resolve alias
 - PHOENIX-6476: Index tool when verifying from index to data does not correctly split page into tasks
 - PHOENIX-6515: Phoenix uses hbase-testing-util but does not list it as a dependency
 - PHOENIX-6405: Stop bulk loading into non-empty tables with global secondary indexes
 - PHOENIX-6510: Double-checked locking field must be volatile
 - PHOENIX-6514: Exception should be thrown
 
Changes in phoenix-connectors:
- PHOENIX-6683: Surround the OR filters with parentheses while converting Spark filters to Phoenix expressions
 - 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-6590: Handle rollbacks in Phoenix Spark connector and add way to control batch wise or task wise transactions
 - PHOENIX-6566: Shaded Phoenix connectors include restrictive log4j config files
 - PHOENIX-6524: Hive connector returns emtpy AND expression when all children are pushed down
 - PHOENIX-6490: Fix shaded Phoenix Hive connector jar name and reduce the size
 
Changes in phoenix-omid:
- OMID-245: Add dependency management for Guava to use 32.1.1
 - OMID-244: Upgrade SnakeYaml version to 2.0
 - OMID-241: Add logging to TSO server crash
 - OMID-242: Bump Google Guice version to 5.1.0 to support JDK 17
 - OMID-239: OMID TLS support
 - OMID-214: Upgrade commons-io to 2.11.0
 - OMID-208: Pass additional options to omid.sh
 - OMID-202: Refactor Omid to use Netty 4
 - OMID-191: Fix missing executable permission because of MASSEMBLY-941
 - OMID-200: Omid client cannot use kerberos cache when using proxyUser
 - OMID-199: Omid client cannot use pre-authenticated UserGroupInformation.getCurrentUser()
 - OMID-194: OmidTableManager cannot create commit and timestamp tables in kerberos cluster
 - OMID-192: Fix missing jcommander dependency
 
Changes in phoenix-queryserver:
- PHOENIX-6908: KerberosName$NoMatchingRule exception in QueryServer.PhoenixRemoteUserExtractor
 - PHOENIX-6704: sqlline-thin.py does not work with python3
 - PHOENIX-6762: Phoenix QueryServer cannot run correctly with python 3.8+
 - PHOENIX-6727: get_view_names() returning empty list
 - PHOENIX-6654: queryserver.py sets the umask to 0000 when starting PQS in daemon mode
 
