Apache Drill 1.5.0 Release Notes

Release date: February 16, 2016

Today, we’re happy to announce the availability of Drill 1.5.0. You can download it here.

This release provides authentication and security for the Web interface and REST API, experimental query support for Apache Kudu (incubating), an improved memory allocator, configurable caching for Hive metadata, and the following bug fixes and improvements:

Sub-task

  • [DRILL-4131] - Update RPC layer to use child allocators of the RootAllocator rather than using the PooledByteBufAllocatorL directly
  • [DRILL-4187] - Introduce a state to separate queries pending execution from those pending in the queue.

Bug

  • [DRILL-2653] - All additions to storage plugin configuration gets wiped out if info is not correct
  • [DRILL-3353] - Non data-type related schema changes errors
  • [DRILL-3739] - NPE on select from Hive for HBase table
  • [DRILL-3845] - PartitionSender doesn't send last batch for receivers that already terminated
  • [DRILL-3848] - Increase timeout time on several tests that time out frequently.
  • [DRILL-3869] - Trailing semicolon causes web UI to fail
  • [DRILL-4035] - NPE seen on Functional test run using JDK 8
  • [DRILL-4044] - NPE in partition pruning test on (JDK8 + Drill 1.3)
  • [DRILL-4121] - External Sort may not spill if above a receiver
  • [DRILL-4126] - Adding HiveMetaStore caching when impersonation is enabled.
  • [DRILL-4127] - HiveSchema.getSubSchema() should use lazy loading of all the table names
  • [DRILL-4128] - null pointer at org.apache.drill.exec.vector.accessor.AbstractSqlAccessor.getString(AbstractSqlAccessor.java:101)
  • [DRILL-4152] - Add additional logging and metrics to the Parquet reader
  • [DRILL-4161] - Make Hive Metastore client caching user configurable.
  • [DRILL-4168] - NULLIF function documentation should be corrected
  • [DRILL-4174] - fix for DRILL-4081 mistakenly regresses the fix for DRILL-3786
  • [DRILL-4180] - IllegalArgumentException while reading JSON files
  • [DRILL-4192] - Dir0 and Dir1 from drill-1.4 are messed up
  • [DRILL-4194] - Improve the performance of metadata fetch operation in HiveScan
  • [DRILL-4196] - some TPCDS queries return wrong result when hash join is disabled
  • [DRILL-4201] - DrillPushFilterPastProject should allow partial filter pushdown.
  • [DRILL-4205] - Simple query hit IndexOutOfBoundException
  • [DRILL-4208] - Storage plugin configuration persistence not working for Apache Drill
  • [DRILL-4209] - Error in hive-to-drill-data-type-mapping documentation
  • [DRILL-4210] - typo in documentation
  • [DRILL-4228] - Wrong query is mentioned "To identify drill-version" in documentation.
  • [DRILL-4230] - NullReferenceException when SELECTing from empty mongo collection
  • [DRILL-4234] - Drill running out of memory for a simple CTAS query
  • [DRILL-4235] - Hit IllegalStateException when exec.queue.enable=ture
  • [DRILL-4243] - CTAS with partition by, results in Out Of Memory
  • [DRILL-4246] - New allocator causing a flatten regression test to fail with IllegalStateException
  • [DRILL-4250] - File system directory-based partition pruning does not work when a directory contains both subdirectories and files.
  • [DRILL-4256] - Performance regression in hive planning
  • [DRILL-4257] - Ensure shutting down a Drillbit also shuts down all StoragePlugins
  • [DRILL-4277] - Jdbc Storage Plugin doesn't correctly add metadata for physical serialization
  • [DRILL-4278] - Memory leak when using LIMIT
  • [DRILL-4285] - maven cannot find Could not find artifact org.freemarker:freemarker:jar:2.3.24-SNAPSHOT in apache.snapshots
  • [DRILL-4291] - Ensure the jdbc-all driver jar includes classes required to return VarChar[]
  • [DRILL-4322] - User exception created upon failed DROP TABLE eats the underlying exception
  • [DRILL-4328] - Fix for backward compatibility regression caused by DRILL-4198
  • [DRILL-4349] - parquet reader returns wrong results when reading a nullable column that starts with a large number of nulls (>30k)
  • [DRILL-4353] - Expired sessions in web server are not cleaning up resources, leading to resource leak
  • [DRILL-4354] - Remove sessions in anonymous (user auth disabled) mode in WebUI server
  • [DRILL-4380] - Fix performance regression: in creation of FileSelection in ParquetFormatPlugin to not set files if metadata cache is available.

Improvement

  • [DRILL-3201] - Drill UI Authentication
  • [DRILL-3478] - Bson Record Reader for Mongo storage plugin
  • [DRILL-4163] - Support schema changes for MergeJoin operator.
  • [DRILL-4169] - Upgrade Hive Storage Plugin to work with latest stable Hive (v1.2.1)
  • [DRILL-4198] - Enhance StoragePlugin interface to expose logical space rules for planning purpose
  • [DRILL-4212] - Update Storage-Mongo to use the preferred API's
  • [DRILL-4213] - add page last updated to Drill docs
  • [DRILL-4236] - ExternalSort should use the new allocator functionality to better manage it's memory usage
  • [DRILL-4239] - Update documentation to reflect 64bit requirement to run Drill on Windows.
  • [DRILL-4242] - Update Mongo storage layer

New Feature

  • [DRILL-4238] - Allow custom messages to be sent on control channel
  • [DRILL-4241] - Add Experimental Kudu plugin

Task

  • [DRILL-4288] - Obsolete generated files under protocol/

Wish

  • [DRILL-3624] - Enhance Web UI to be able to select schema ("use")