Apache Drill 1.4.0 Release Notes

Release date: December 14, 2015

Today, we’re happy to announce the availability of Drill 1.4.0, providing the following bug fixes and improvements.

Drill 1.4 fixes an error that occurred when querying a Hive table using the HBaseStorageHandler (DRILL-3739). To successfully query a Hive table using the HBaseStorageHandler, you need to configure the Hive storage plugin as described in the Hive storage plugin documentation.



  • [DRILL-2288] - ScanBatch violates IterOutcome protocol for zero-row sources [was: missing JDBC metadata (schema) for 0-row results...]
  • [DRILL-2618] - BasicFormatMatcher calls getFirstPath(...) without checking # of paths is not zero
  • [DRILL-2687] - TINYINT/SMALLINT's clean not-implemented-yet messages are missing or late for views
  • [DRILL-2769] - many(?) JDBC methods throw non-SQLException exceptions (e.g., UnsupportedOperationException, RuntimeException)
  • [DRILL-3171] - Storage Plugins : Two processes tried to update the storage plugin at the same time
  • [DRILL-3739] - NPE on select from Hive for HBase table
  • [DRILL-3765] - Partition prune rule is unnecessary fired multiple times.
  • [DRILL-3786] - Query with window function fails with IllegalFormatConversionException
  • [DRILL-3854] - IOB Exception : CONVERT_FROM (sal, int_be)
  • [DRILL-3893] - Issue with Drill after Hive Alters the Table
  • [DRILL-3938] - Hive: Failure reading from a partition when a new column is added to the table after the partition creation
  • [DRILL-4049] - Workmanager.StatusThread is not terminated when Drillbit is shutdown
  • [DRILL-4082] - Better error message when multiple versions of the same function are found by the classpath scanner
  • [DRILL-4083] - Drill not using HiveDrillNativeParquetScan if no column is needed to be read from HIVE
  • [DRILL-4089] - Make JSON pretty printing configurable
  • [DRILL-4094] - Respect -DskipTests=true for JDBC plugin tests
  • [DRILL-4108] - Query on csv file w/ header fails with an exception when non existing column is requested
  • [DRILL-4109] - NPE in RecordIterator
  • [DRILL-4119] - Skew in hash distribution for varchar (and possibly other) types of data
  • [DRILL-4125] - Illegal argument exception during merge join
  • [DRILL-4128] - null pointer at org.apache.drill.exec.vector.accessor.AbstractSqlAccessor.getString(AbstractSqlAccessor.java:101)
  • [DRILL-4146] - Concurrent queries hang in planner in ReflectiveRelMetadataProvider
  • [DRILL-4159] - TestCsvHeader sometimes fails due to ordering issue
  • [DRILL-4165] - IllegalStateException in MergeJoin for a query against TPC-DS data
  • [DRILL-4176] - Dynamic Schema Discovery is not done in case of Drill- Hive


  • [DRILL-1522] - Hbase convert_from queries are not pushed down
  • [DRILL-2601] - Print SQL query text along with query id in drillbit.log
  • [DRILL-3543] - Add stats for external sort to a query profile
  • [DRILL-4047] - Select with options
  • [DRILL-4053] - Reduce metadata cache file size
  • [DRILL-4081] - Handle schema changes in ExternalSort
  • [DRILL-4124] - Make all uses of AutoCloseables use addSuppressed exceptions to avoid noise in logs


  • [DRILL-4111] - turn tests off in travis as they don't work there