Apache Drill 1.20.0 Release Notes
Release date: February 25, 2022
Today, we’re happy to announce the availability of Drill 1.20.0. You can download it here.
New Feature
- [DRILL-7983] - Add a REST API to support the get running or completed profiles
- [DRILL-7985] - Support Mongo aggregate, union, project, limit, sort pushdowns
- [DRILL-8027] - Format plugin for Apache Iceberg
- [DRILL-8073] - Add support for persistent table and storage aliases
- [DRILL-8107] - Hadoop2 backport Maven profile
Improvement
- [DRILL-1282] - Add read and write support for Parquet v2
- [DRILL-7951] - Add Response Metadata Fields to HTTP Storage Plugin
- [DRILL-7955] - Extend XOR bitwise functions to match AND and OR
- [DRILL-7969] - Add support for reading and writing Parquet files using Brotli, LZ4 and Zstandard codecs
- [DRILL-7970] - Add URL Parameters to HTTP Plugin
- [DRILL-7971] - Support Elasticsearch authentication
- [DRILL-7981] - Bump commons-compress from 1.20 to 1.21 for CVE-2021-36090
- [DRILL-7988] - Add credentials provider support for API connections in HTTP plugin
- [DRILL-7989] - Use the UTC formatter in the JSON reader
- [DRILL-7991] - Add Configuration Option to HDF5 Reader to Skip Preview
- [DRILL-7995] - Add ability to query OCI OS
- [DRILL-7999] - Base Docker image on maven:3.8.2-jdk-11 and openjdk-11
- [DRILL-8005] - Add Writer to JDBC Storage Plugin
- [DRILL-8006] - Leading and Trailing Whitespace Causes Query Failures in Excel Files
- [DRILL-8008] - Add Config Option to HTTP Plugin to Skip SSL Validation
- [DRILL-8011] - Add Dropbox File System to Drill
- [DRILL-8014] - Bump Calcite to 1.21.0r5
- [DRILL-8016] - Default to lazy outbound connections for storage-jdbc and storage-splunk
- [DRILL-8017] - Fix LGTM Issues Relating to Equals and HashCode Functions
- [DRILL-8018] - Bump Splunk SDK to version 1.7.1
- [DRILL-8019] - Use HTTP error codes to signal failures in the REST API
- [DRILL-8020] - Add JSON Configuration Options to HTTP Rest Plugin
- [DRILL-8021] - Add the srv protocol support for the mongo storage
- [DRILL-8022] - Add Provided Schema Support for Excel Reader
- [DRILL-8028] - Add PDF Format Plugin
- [DRILL-8029] - Upgrade project parent POM to 24 version
- [DRILL-8032] - Remove obsolete Python scripts from the project
- [DRILL-8039] - More LGTM Code Cleanup
- [DRILL-8040] - Return an HTTP error code from failed REST API operations
- [DRILL-8047] - Add a custom authn provider for HashiCorp Vault
- [DRILL-8054] - Add SAS Format Plugin
- [DRILL-8056] - Add OAuth2 Support for HTTP Rest Plugin
- [DRILL-8057] - INFORMATION_SCHEMA filter push down is inefficient
- [DRILL-8060] - Avoid the NPE in the Filter of Iceberg Implementor
- [DRILL-8072] - Fix NPE in HTTP Post Requests
- [DRILL-8076] - Remove unused Vault token BOOT opt
- [DRILL-8078] - Add WEEK to Date Extract
- [DRILL-8080] - Enable the describe Case-Insensitive for Phoenix
- [DRILL-8081] - Maven Connection timed out
- [DRILL-8092] - Add Auto Pagination to HTTP Storage Plugin
- [DRILL-8095] - format-excel reader - upgrade to POI 5.2.0
Bug
- [DRILL-3193] - TestDrillbitResilience#interruptingWhileFragmentIsBlockedInAcquiringSendingTicket hangs and fails
- [DRILL-3194] - TestDrillbitResilience#memoryLeaksWhenFailed hangs
- [DRILL-5612] - Random failure in TestMergeJoinWithSchemaChanges
- [DRILL-6105] - SYSTEM ERROR: NullPointerException
- [DRILL-7926] - The “ age “ function is not working properly.
- [DRILL-7947] - Unable to aggregate or filter nullable decimals in large record sets
- [DRILL-7948] - Unable to query file with required fixed_len_byte_array decimal columns
- [DRILL-7950] - Drill classpath includes both avatica-core:jar:1.15.0 and avatica:jar:1.17.0
- [DRILL-7952] - Fix Scan Stats for Mongo Plugin
- [DRILL-7968] - ANALYZE TABLE … REFRESH METADATA fails with FLOAT4 column
- [DRILL-7972] - ClassCastException when joining RDBMS and Elasticsearch tables
- [DRILL-7975] - Connection to Splunk Drill Storage Plugin fails intermittently
- [DRILL-7976] - Fix XSS Vulnerability
- [DRILL-7979] - Self-Closing XML Tags Cause Schema Change Exceptions
- [DRILL-7986] - Drill crashes when using the streaming connection with arrays
- [DRILL-7990] - Unable to disable requireTail in HTTP storage plugin API
- [DRILL-7997] - Fix the type mismatch of mongo module in eclipse
- [DRILL-8001] - Some new Docker images are based on OpenJDK JRE images but full JDK is required
- [DRILL-8002] - Expose clear error message for the case of errors from ElasticSearch
- [DRILL-8004] - Splunk Sends Newlines in INT Fields, Causing Exceptions
- [DRILL-8009] - DrillConnectionImpl#isValid() doesn’t correspond JDBC API
- [DRILL-8010] - Build fails with unresolved incubator-iceberg dependency
- [DRILL-8026] - Sqlline 1.12 upgrade
- [DRILL-8041] - Fix mongo scan spec deserialization
- [DRILL-8042] - Select star from MongoDB with aggregated pipeline fails with empty $project error
- [DRILL-8043] - Excel Reader Regression Fix
- [DRILL-8045] - Fix storage export regression introduced by DRILL-8040
- [DRILL-8046] - Enabling ignored test cases for SchemaChange
- [DRILL-8049] - Make rule names for Iceberg plugin instances unique
- [DRILL-8050] - Fix license-maven-plugin unknown file extension warnings
- [DRILL-8053] - Reduce Docker image size
- [DRILL-8058] - NPE: Cannot invoke “org.apache.calcite.rel.core.TableScan.getTable()” because “scan” is null
- [DRILL-8064] - Cannot query text files with names that contain a backslash
- [DRILL-8066] - Cannot convert non-finite floating point literals
- [DRILL-8074] - Upgrade log4j because of CVE-2021-44228
- [DRILL-8090] - LIMIT clause is pushed down to an invalid OFFSET-FETCH clause for MS SQL Server
- [DRILL-8104] - Upgrade protobuf-java because of CVE-2021-22569
- [DRILL-8108] - Excel Reader Fails with Duplicate Columns
- [DRILL-8112] - Excel Reader Ignores HeaderRow Config Param
- [DRILL-8114] - Prevent applying Iceberg project on non-Iceberg tables
- [DRILL-8118] - Add Option to Allow Disk Use on Mongo Queries
- [DRILL-8119] - MongoDB ObjectID becomes MAP under store.mongo.bson.record.reader = false
- [DRILL-8122] - Change kafka metadata obtaining due to KAFKA-5697
- [DRILL-8126] - Ignore OAuth Parameter in Storage Plugin
- [DRILL-8129] - Storage-phoenix cannot resolve OSGi bundle apache-ds.jdbm1
- [DRILL-8130] - Upgrade Hadoop 2 to 2.10.1 because of CVE-2020-9492
- [DRILL-8131] - Infinite planning when storage-jdbc or storage-phoenix is enabled
- [DRILL-8134] - Regression: cannot query Parquet INT96 columns as timestamps
- [DRILL-8144] - Cannot launch Drill 1.20 RC 4 on Windows
Test
- [DRILL-3967] - Broken Test: TestDrillbitResilience.cancelAfterEverythingIsCompleted()
Wish
- [DRILL-8034] - Support Java17
Task
- [DRILL-7942] - Update Mockito to latest 3.x
- [DRILL-7943] - Update Hamcrest to 2.2
- [DRILL-7949] - documentation error - missing link
- [DRILL-7982] - Timed out waiting for container port to open
- [DRILL-7994] - Dependency version updates for severe vulnerabilities
- [DRILL-8024] - Bump Mongo client and Testcontainers version to latest
- [DRILL-8025] - Bump HBase client version to 2.4.8
- [DRILL-8111] - Remove lombok usage
Sub-task
- [DRILL-7973] - Fix GitHub CI intermittent failures
- [DRILL-7996] - Documentation for OCI OS Storage Plugin
- [DRILL-8030] - Intermittent TestDrillbitResilience cancelInMiddleOfFetchingResults and foreman_runTryEnd failures
- [DRILL-8061] - Add Impersonation Support for Phoenix