Hive
Bug Fixes
HIVE-1969: A MapJoin/SkewJoin issue that caused queries to take longer than expected.
HIVE-3179: A memory leak issue with the
UDFClassLoaderandClassLoaderResolverImplobjects on HiveServer2.HIVE-3185: Hive commands used Tez as the execution engine even when MapReduce was configured. To resolve this, the Hive execution engine that is added as the cluster override will take precedence over the Hive execution engine set in the account settings.
HIVE-3197: To prevent a
StackOverFlowErrorwhen there are very many or very large partitions to drop, a new configuration parameter,hive.metastore.drop.partitions.batch.sizehas been introduced to drop partitions in batches.You pass the batch size tohive.metastore.drop.partitions.batch.size(at the cluster or query level or in the Hive bootstrap script). The default value for this parameter is zero; there is no effect unless you specify a value greater than zero.HIVE-3269: Enabling
hive.optimize.skewjoinresulted in the job failing withFNFException.HIVE-3271: Failure in Hive vectorization, handling the
NullPointerExceptioninVectorUDFWeekOfYearString.HIVE-3298: Tez queries were failing with a
No work found for tablescan errorwhen dynamic partition pruning was enabled.HIVE-3319: All
hive.cli.*parameters have been added to the list of whitelisted parameters. You can configure these parameters at runtime; you do not need to add them tohive.security.authorization.sqlstd.confwhitelistwhen Hive Authorization and HiveServer2 are enabled.HIVE-3402: A
ClassNotFoundExceptionwas due to Kryo’s classloader being set only once during the initialization.HIVE-3484: QDS no longer supports setting
hive.on.masterin Hadoop overrides (the Override Hadoop Configuration Variables field in the Clusters configuration dialog in the QDS UI).QTEZ-313: Deadlock in ApplicationMaster. Fixed by removing the calls from the task attempt to the task; the task now passes the location hint and task specification to the TaskAttempt constructor.
QTEZ-315: A Hive query with UNION ALL failed when Tez was set as the execution engine.
QTEZ-330: Parallel Hive queries on Hive 2.1.1, TEZ and Hive-on-Coordinator on a non-HiveServer2 cluster failed intermittently. To resolve this, Hive supports parallel INSERT INTO values from the same session in Hive version 2.1. The Hive session ID is generated randomly for each query, preventing race conditions in the session directories.
Enhancements
HIVE-3174: Hive now supports complex expressions in OUTER JOINs by extending the column pruner to account for residual filter expression in the JOIN operator.
HIVE-3220: Hive 2.1.1 now supports multi-line comments in query expressions.
HIVE-3347:
hive.default.fileformatnow accepts the Parquet format among the possible values.HIVE-3417: The metastore consistency check (MSCK) result is displayed only under Logs instead of the Results tab of the Analyze page of the QDS UI when
hive.qubole.write.msck.result.to.logis enabled at the query or cluster level or in a Hive bootstrap file. Cluster Restart Required ⎼ for the cluster-level setting.HIVE-3434: AvroSerDe’s InstanceCache is now thread-safe. There is no longer a
NullPointerExceptionwhen the InstanceCache is accessed by multiple threads simultaneously.