Apache Flink 1.14.4 Release Announcement

March 11, 2022 - Konstantin Knauf (@snntrable)

The Apache Flink Community is pleased to announce another bug fix release for Flink 1.14.

This release includes 51 bug and vulnerability fixes and minor improvements for Flink 1.14. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.

We highly recommend all users to upgrade to Flink 1.14.4.

Release Artifacts #

Maven Dependencies #


Binaries #

You can find the binaries on the updated Downloads page.

Docker Images #

PyPi #

Release Notes #


  • [FLINK-21788] - Throw PartitionNotFoundException if the partition file has been lost for blocking shuffle
  • [FLINK-24954] - Reset read buffer request timeout on buffer recycling for sort-shuffle
  • [FLINK-25653] - Move buffer recycle in SortMergeSubpartitionReader out of lock to avoid deadlock
  • [FLINK-25654] - Remove the redundant lock in SortMergeResultPartition
  • [FLINK-25879] - Track used search terms in Matomo
  • [FLINK-25880] - Implement Matomo in Flink documentation


  • [FLINK-21752] - NullPointerException on restore in PojoSerializer
  • [FLINK-23946] - Application mode fails fatally when being shut down
  • [FLINK-24334] - Configuration kubernetes.flink.log.dir not working
  • [FLINK-24407] - Pulsar connector chinese document link to Pulsar document location incorrectly.
  • [FLINK-24607] - SourceCoordinator may miss to close SplitEnumerator when failover frequently
  • [FLINK-25171] - When the DDL statement was executed, the column names of the Derived Columns were not validated
  • [FLINK-25199] - StreamEdges are not unique in self-union, which blocks propagation of watermarks
  • [FLINK-25362] - Incorrect dependencies in Table Confluent/Avro docs
  • [FLINK-25407] - Network stack deadlock when cancellation happens during initialisation
  • [FLINK-25466] - TTL configuration could parse in StateTtlConfig#DISABLED
  • [FLINK-25486] - Perjob can not recover from checkpoint when zookeeper leader changes
  • [FLINK-25494] - Duplicate element serializer during DefaultOperatorStateBackendSnapshotStrategy#syncPrepareResources
  • [FLINK-25678] - TaskExecutorStateChangelogStoragesManager.shutdown is not thread-safe
  • [FLINK-25683] - wrong result if table transfrom to DataStream then window process in batch mode
  • [FLINK-25728] - Potential memory leaks in StreamMultipleInputProcessor
  • [FLINK-25732] - Dispatcher#requestMultipleJobDetails returns non-serialiable collection
  • [FLINK-25827] - Potential memory leaks in SourceOperator
  • [FLINK-25856] - Fix use of UserDefinedType in from_elements
  • [FLINK-25893] - ResourceManagerServiceImpl's lifecycle can lead to exceptions
  • [FLINK-25952] - Savepoint on S3 are not relocatable even if entropy injection is not enabled
  • [FLINK-26039] - Incorrect value getter in map unnest table function
  • [FLINK-26159] - Pulsar Connector: should add description MAX_FETCH_RECORD in doc to explain slow consumption
  • [FLINK-26160] - Pulsar Connector: stopCursor description should be changed. Connector only stop when auto discovery is disabled.
  • [FLINK-26187] - Chinese docs override english aliases
  • [FLINK-26304] - GlobalCommitter can receive failed committables

New Feature

  • [FLINK-20188] - Add Documentation for new File Source
  • [FLINK-21407] - Clarify which sources and APIs support which formats


  • [FLINK-20830] - Add a type of HEADLESS_CLUSTER_IP for rest service type
  • [FLINK-24880] - Error messages "OverflowError: timeout value is too large" shown when executing PyFlink jobs
  • [FLINK-25160] - Make doc clear: tolerable-failed-checkpoints counts consecutive failures
  • [FLINK-25611] - Remove CoordinatorExecutorThreadFactory thread creation guards
  • [FLINK-25650] - Document unaligned checkpoints performance limitations (larger records/flat map/timers/...)
  • [FLINK-25767] - Translation of page 'Working with State' is incomplete
  • [FLINK-25818] - Add explanation how Kafka Source deals with idleness when parallelism is higher then the number of partitions

Technical Debt