Apache Flink 1.17.2 Release Announcement
November 29, 2023 - Yun Tang (@yun_tang_)The Apache Flink Community is pleased to announce the second bug fix release of the Flink 1.17 series.
This release includes 82 bug fixes, vulnerability fixes, and minor improvements for Flink 1.17. 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.17.2.
Release Artifacts #
Maven Dependencies #
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>1.17.2</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java</artifactId>
<version>1.17.2</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients</artifactId>
<version>1.17.2</version>
</dependency>
Binaries #
You can find the binaries on the updated Downloads page.
Docker Images #
- library/flink (official images)
- apache/flink (ASF repository)
PyPi #
Release Notes #
Release Notes - Flink - Version 1.17.2
Bug
- [FLINK-27415] - Read empty csv file throws exception in FileSystem table connector
- [FLINK-28513] - Flink Table API CSV streaming sink throws SerializedThrowable exception
- [FLINK-29913] - Shared state would be discarded by mistake when maxConcurrentCheckpoint>1
- [FLINK-30559] - May get wrong result for `if` expression if it's string data type
- [FLINK-30596] - Multiple POST /jars/:jarid/run requests with the same jobId, runs duplicate jobs
- [FLINK-30751] - Remove references to disableDataSync in RocksDB documentation
- [FLINK-30966] - Flink SQL IF FUNCTION logic error
- [FLINK-31139] - not upload empty state changelog file
- [FLINK-31519] - The watermark alignment docs is outdated after FLIP-217 finished
- [FLINK-31812] - SavePoint from /jars/:jarid:/run api on body is not anymore set to null if empty
- [FLINK-31967] - SQL with LAG function NullPointerException
- [FLINK-31974] - JobManager crashes after KubernetesClientException exception with FatalExitExceptionHandler
- [FLINK-32023] - execution.buffer-timeout cannot be set to -1 ms
- [FLINK-32034] - Python's DistUtils is deprecated as of 3.10
- [FLINK-32056] - Update the used Pulsar connector in flink-python to 4.0.0
- [FLINK-32110] - TM native memory leak when using time window in Pyflink ThreadMode
- [FLINK-32136] - Pyflink gateway server launch fails when purelib != platlib
- [FLINK-32141] - SharedStateRegistry print too much info log
- [FLINK-32172] - KafkaExample can not run with args
- [FLINK-32199] - MetricStore does not remove metrics of nonexistent parallelism in TaskMetricStore when scale down job parallelism
- [FLINK-32217] - Retain metric store can cause NPE
- [FLINK-32219] - SQL client hangs when executing EXECUTE PLAN
- [FLINK-32226] - RestClusterClient leaks jobgraph file if submission fails
- [FLINK-32249] - A Java string should be used instead of a Calcite NlsString to construct the column comment of CatalogTable
- [FLINK-32254] - FineGrainedSlotManager may not allocate enough taskmangers if maxSlotNum is configured
- [FLINK-32296] - Flink SQL handle array of row incorrectly
- [FLINK-32316] - Duplicated announceCombinedWatermark task maybe scheduled if jobmanager failover
- [FLINK-32362] - SourceAlignment announceCombinedWatermark period task maybe lost
- [FLINK-32411] - SourceCoordinator thread leaks when job recovers from checkpoint
- [FLINK-32414] - Watermark alignment will cause flink jobs to hang forever when any source subtask has no SourceSplit
- [FLINK-32447] - table hints lost when they inside a view referenced by an external query
- [FLINK-32456] - JSON_OBJECTAGG & JSON_ARRAYAGG cannot be used with other aggregate functions
- [FLINK-32465] - KerberosLoginProvider.isLoginPossible does accidental login with keytab
- [FLINK-32496] - Sources with idleness and alignment always wait for alignment when part of multiple sources is idle
- [FLINK-32548] - Make watermark alignment ready for production use
- [FLINK-32578] - Cascaded group by window time columns on a proctime window aggregate may result hang for ever
- [FLINK-32583] - RestClient can deadlock if request made after Netty event executor terminated
- [FLINK-32592] - (Stream)ExEnv#initializeContextEnvironment isn't thread-safe
- [FLINK-32628] - build_wheels_on_macos fails on AZP
- [FLINK-32655] - RecreateOnResetOperatorCoordinator did not forward notifyCheckpointAborted to the real OperatorCoordinator
- [FLINK-32680] - Job vertex names get messed up once there is a source vertex chained with a MultipleInput vertex in job graph
- [FLINK-32760] - Version Conflict in flink-sql-connector-hive for shaded.parquet prefix packages
- [FLINK-32876] - ExecutionTimeBasedSlowTaskDetector treats unscheduled tasks as slow tasks and causes speculative execution to fail.
- [FLINK-32888] - File upload runs into EndOfDataDecoderException
- [FLINK-32909] - The jobmanager.sh pass arguments failed
- [FLINK-32962] - Failure to install python dependencies from requirements file
- [FLINK-32974] - RestClusterClient always leaks flink-rest-client-jobgraphs* directories
- [FLINK-33010] - NPE when using GREATEST() in Flink SQL
- [FLINK-33149] - Bump snappy-java to 1.1.10.4
- [FLINK-33171] - Consistent implicit type coercion support for equal and non-equal comparisons for codegen
- [FLINK-33291] - The release profile of Flink does include enforcing the Java version only in a "soft" way
- [FLINK-33352] - OpenAPI spec is lacking mappings for discriminator properties
- [FLINK-33442] - UnsupportedOperationException thrown from RocksDBIncrementalRestoreOperation
- [FLINK-33474] - ShowPlan throws undefined exception In Flink Web Submit Page
Improvement
- [FLINK-31774] - Add document for delete and update statement
- [FLINK-32186] - Support subtask stack auto-search when redirecting from subtask backpressure tab
- [FLINK-32304] - Reduce rpc-akka jar size
- [FLINK-32314] - Ignore class-loading errors after RPC system shutdown
- [FLINK-32371] - Bump snappy-java to 1.1.10.1
- [FLINK-32457] - update current documentation of JSON_OBJECTAGG/JSON_ARRAYAGG to clarify the limitation
- [FLINK-32458] - support mixed use of JSON_OBJECTAGG & JSON_ARRAYAGG with other aggregate functions
- [FLINK-32547] - Add missing doc for Timestamp support in ProtoBuf format
- [FLINK-32758] - PyFlink bounds are overly restrictive and outdated
- [FLINK-33316] - Avoid unnecessary heavy getStreamOperatorFactory
- [FLINK-33487] - Add the new Snowflake connector to supported list