Apache Flink 1.15.3 Release Announcement

November 10, 2022 - Fabian Paul

The Apache Flink Community is pleased to announce the third bug fix release of the Flink 1.15 series.

This release includes 59 bug fixes, vulnerability fixes, and minor improvements for Flink 1.15. 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 upgrade to Flink 1.15.3.

Release Artifacts #

Maven Dependencies #

<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-java</artifactId>
  <version>1.15.3</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-streaming-java</artifactId>
  <version>1.15.3</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-clients</artifactId>
  <version>1.15.3</version>
</dependency>

Binaries #

You can find the binaries on the updated Downloads page.

Docker Images #

PyPi #

Release Notes #

Bug

  • [FLINK-26726] - Remove the unregistered task from readersAwaitingSplit
  • [FLINK-26890] - DynamoDB consumer error consuming partitions close to retention
  • [FLINK-27384] - In the Hive dimension table, when the data is changed on the original partition, the create_time configuration does not take effect
  • [FLINK-27400] - Pulsar connector subscribed the system topic when using the regex
  • [FLINK-27415] - Read empty csv file throws exception in FileSystem table connector
  • [FLINK-27492] - Flink table scala example does not including the scala-api jars
  • [FLINK-27579] - The param client.timeout can not be set by dynamic properties when stopping the job
  • [FLINK-27611] - ConcurrentModificationException during Flink-Pulsar checkpoint notification
  • [FLINK-27954] - JobVertexFlameGraphHandler does not work on standby Dispatcher
  • [FLINK-28084] - Pulsar unordered reader should disable retry and delete reconsume logic.
  • [FLINK-28265] - Inconsistency in Kubernetes HA service: broken state handle
  • [FLINK-28488] - KafkaMetricWrapper does incorrect cast
  • [FLINK-28609] - Flink-Pulsar connector fails on larger schemas
  • [FLINK-28863] - Snapshot result of RocksDB native savepoint should have empty shared-state
  • [FLINK-28934] - Pulsar Source put all the splits to only one parallelism when using Exclusive subscription
  • [FLINK-28951] - Header in janino generated java files can merge with line numbers
  • [FLINK-28959] - 504 gateway timeout when consume large number of topics using TopicPatten
  • [FLINK-28960] - Pulsar throws java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement
  • [FLINK-28975] - withIdleness marks all streams from FLIP-27 sources as idle
  • [FLINK-28976] - Changelog 1st materialization delayed unneccesarily
  • [FLINK-29130] - Correct the doc description of state.backend.local-recovery
  • [FLINK-29138] - Project pushdown not work for lookup source
  • [FLINK-29205] - FlinkKinesisConsumer not respecting Credential Provider configuration for EFO
  • [FLINK-29207] - Pulsar message eventTime may be incorrectly set to a negative number
  • [FLINK-29253] - DefaultJobmanagerRunnerRegistry#localCleanupAsync calls close instead of closeAsync
  • [FLINK-29324] - Calling Kinesis connector close method before subtask starts running results in NPE
  • [FLINK-29325] - Fix documentation bug on how to enable batch mode for streaming examples
  • [FLINK-29381] - Key_Shared subscription isn't works in the latest Pulsar connector
  • [FLINK-29395] - [Kinesis][EFO] Issue using EFO consumer at timestamp with empty shard
  • [FLINK-29397] - Race condition in StreamTask can lead to NPE if changelog is disabled
  • [FLINK-29459] - Sink v2 has bugs in supporting legacy v1 implementations with global committer
  • [FLINK-29477] - ClassCastException when collect primitive array to Python
  • [FLINK-29479] - Support whether using system PythonPath for PyFlink jobs
  • [FLINK-29483] - flink python udf arrow in thread model bug
  • [FLINK-29500] - InitializeOnMaster uses wrong parallelism with AdaptiveScheduler
  • [FLINK-29509] - Set correct subtaskId during recovery of committables
  • [FLINK-29512] - Align SubtaskCommittableManager checkpointId with CheckpointCommittableManagerImpl checkpointId during recovery
  • [FLINK-29539] - dnsPolicy in FlinkPod is not overridable
  • [FLINK-29567] - Revert sink output metric names from numRecordsSend back to numRecordsOut
  • [FLINK-29613] - Wrong message size assertion in Pulsar's batch message
  • [FLINK-29627] - Sink - Duplicate key exception during recover more than 1 committable.
  • [FLINK-29645] - BatchExecutionKeyedStateBackend is using incorrect ExecutionConfig when creating serializer
  • [FLINK-29749] - flink info command support dynamic properties
  • [FLINK-29803] - Table API Scala APIs lack proper source jars
  • [FLINK-29827] - [Connector][AsyncSinkWriter] Checkpointed states block writer from sending records
  • [FLINK-29927] - AkkaUtils#getAddress may cause memory leak

Improvement

  • [FLINK-24906] - Improve CSV format handling and support
  • [FLINK-28733] - jobmanager.sh should support dynamic properties
  • [FLINK-28909] - Add ribbon filter policy option in RocksDBConfiguredOptions
  • [FLINK-29134] - fetch metrics may cause oom(ThreadPool task pile up)
  • [FLINK-29158] - Fix logging in DefaultCompletedCheckpointStore
  • [FLINK-29223] - Missing info output for when filtering JobGraphs based on their persisted JobResult
  • [FLINK-29255] - FLIP-258 - Enforce binary compatibility in patch releases
  • [FLINK-29476] - Kinesis Connector retry mechanism not applied to EOFException
  • [FLINK-29503] - Add backpressureLevel field without hyphens
  • [FLINK-29504] - Jar upload spec should define a schema