Dear community members, Apache Doris 2.1.1 has been officially released on April 3, 2024, with several enhancements and bug fixes based on 2.1.0, enabling smoother user experience.

Behavior Changed

  1. Change float type output format to improve float type serialization performance.
  1. Change system table value functions active_queries(), workload_groups() to system tables.
  1. Disable show query/load profile stmt because there are not so many developers use it and the pipeline and pipelinex engine not support it.
  1. Upgrade arrow flight version to 15.0.2 to fix some bugs, so that please use ADBC 15.0.2 version to access Doris.

Upgrade Problem

  1. BE will core when rolling pgrade problem from 2.0.x to 2.1.x
  1. JDBC Catalog will have query errors when rolling grade rom 2.0.x to 2.1.x.

New Feature

  1. Enable column auth by default.
  1. Get correct cores for pipeline and pipelinex engine when running within docker or k8s.
  1. Support read parquet int96 type.
  1. Enable proxy protocol to support IP transparency. Using this protocol, IP transparency for load balancing can be achieved, so that after load balancing, Doris can still obtain the client’s real IP and implement permission control such as whitelisting.
  1. Add workload group queue related columns for active_queries system table. Uses could use this system to monitor the workload queue usage.
  1. Add new system table backend_active_tasks to monitor the realtime query statics on every BE.
  1. Add ipv4 and ipv6 support for spark-doris connector.
  1. Add inverted index support for CCR.
  1. Support select experimental session variable.
  1. Support materialized view with bitmap_union(bitmap_from_array()) case.
  1. Support partition prune for HIVE_DEFAULT_PARTITION.
  1. Support function in set variable statement.
  1. Support arrow serialization for varint type.

Optimization

  1. Auto resume routine load when be restart or during upgrade. And keep the routine load stable.
  1. Routine Load: optimize allocate task to be algorithm for load balance.
  1. Spark Load: update spark version for spark load to resolve cve problem.
  1. Skip cooldown if the tablet is dropped.
  1. Support using workload group to manage routine load.
  1. [MTMV ]Improve the performance for query rewritting by materialized view.
  1. Reduce jvm heap memory consumed by profiles of BrokerLoadJob.
  1. Imporve the high QPS query by speed up PartitionPrunner.
  1. Reduce duplicated memory consumption for column name and column path for schema cache.
  1. Support more join types for query rewriting by materialized view such as INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, LEFT SEMI JOIN, RIGHT SEMI JOIN, LEFT ANTI JOIN, RIGHT ANTI JOIN

Bugfix

  1. Do not push down topn-filter through right/full outer join if the first orderkey is nulls first.
  1. Fix memory leak in Java UDF
  1. If some odbc tables use the same resource, and restore not all odbc tables, it will not retain the resource. and check some conf for backup/restore
  1. Fold constant will core for variant type.
  1. Routine load will pause when transaction fail in some cases.
  1. the result of left semi join with empty right side should be false instead of null.
  1. Fix core when build inverted index for a new column with no data.
  1. Fix be core caused by null-safe-equal join.
  1. Partial update: fix data correctness risk when load delete sign data into a table with sequence col.
  1. Select outfile: Fix the column type mapping in the orc/parquet file format.
  1. Fix BE core during restore stage.
  1. Use array_agg func after other agg func like count, sum, may make be core.
  1. Variant type should always nullable or there will some bugs.
  1. Fix the bug of handling empty blocks in schema change.
  1. Fix BE will core when use json_length() in some cases.
  1. Fix error when query iceberg table using date cast predicate
  1. Fix some bugs when build inverted index for variant type.
  1. Wrong result of two or more map_agg functions in query.
  1. Fix wrong result of money_format function.
  1. Fix connection hang after too many connections.