Apache Drill 0.4.0 Release Notes

The 0.4.0 release is a developer preview release, designed to help enthusiasts start to work with and experiment with Drill. It is the first Drill release that provides distributed query execution.

This release is built upon more than 800 JIRAs. It is a pre-beta release on the way towards Drill. As a developer snapshot, the release contains a large number of outstanding bugs that will make some use cases challenging. Feel free to consult outstanding issues targeted for the 0.5.0 release to see whether your use case is affected.

To read more about this release and new features introduced, please view the 0.4.0 announcement blog entry.

The release is available as both binary and source tarballs. In both cases, these are compiled against Apache Hadoop. Drill has also been tested against MapR, Cloudera and Hortonworks Hadoop distributions and there are associated build profiles or JIRAs that can help you run against your preferred distribution.

Some Key Notes & Limitations

  • The current release supports in memory and beyond memory execution. However, users must disable memory-intensive hash aggregate and hash join operations to leverage this functionality.
  • In many cases,merge join operations return incorrect results.
  • Use of a local filter in a join “on” clause when using left, right or full outer joins may result in incorrect results.
  • Because of known memory leaks and memory overrun issues you may need more memory and you may need to restart the system in some cases.
  • Some types of complex expressions, especially those involving empty arrays may fail or return incorrect results.
  • While the Drill execution engine supports dynamic schema changes during the course of a query, some operators have yet to implement support for this behavior (such as Sort). Others operations (such as streaming aggregate) may have partial support that leads to unexpected results.
  • Protobuf, UDF, query plan interfaces and all interfaces are subject to change in incompatible ways.
  • Multiplication of some types of DECIMAL(28+,*) will return incorrect result.