Apache Flink 1.17.1 Release Announcement

May 25, 2023 - Weijie Guo (@WeijieGuo12)

The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.17 series.

This release includes 75 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.1.

Release Artifacts #

Maven Dependencies #

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

Binaries #

You can find the binaries on the updated Downloads page.

Docker Images #

PyPi #

Release Notes #

    Release Notes - Flink - Version 1.17.1

Bug

  • [FLINK-28786] - Cannot run PyFlink 1.16 on MacOS with M1 chip
  • [FLINK-30989] - Configuration table.exec.spill-compression.block-size not take effect in batch job
  • [FLINK-31131] - The INITIALIZING of ExecutionState is missed in the state_machine doc
  • [FLINK-31165] - Over Agg: The window rank function without order by error in top N query
  • [FLINK-31273] - Left join with IS_NULL filter be wrongly pushed down and get wrong join results
  • [FLINK-31293] - Request memory segment from LocalBufferPool may hanging forever.
  • [FLINK-31305] - KafkaWriter doesn't wait for errors for in-flight records before completing flush
  • [FLINK-31414] - exceptions in the alignment timer are ignored
  • [FLINK-31424] - NullPointer when using StatementSet for multiple sinks
  • [FLINK-31437] - Wrong key 'lookup.cache.caching-missing-key' in connector documentation
  • [FLINK-31478] - TypeError: a bytes-like object is required, not 'JavaList' is thrown when ds.execute_and_collect() is called on a KeyedStream
  • [FLINK-31503] - "org.apache.beam.sdk.options.PipelineOptionsRegistrar: Provider org.apache.beam.sdk.options.DefaultPipelineOptionsRegistrar not a subtype" is thrown when executing Python UDFs in SQL Client
  • [FLINK-31541] - Get metrics in Flink WEB UI error
  • [FLINK-31557] - Metric viewUpdater and reporter task in a SingleThreadScheduledExecutor lead to inaccurate PerSecond related metrics
  • [FLINK-31588] - The unaligned checkpoint type is wrong at subtask level
  • [FLINK-31612] - ClassNotFoundException when using GCS path as HA directory
  • [FLINK-31626] - HsSubpartitionFileReaderImpl should recycle skipped read buffers.
  • [FLINK-31628] - ArrayIndexOutOfBoundsException in watermark processing
  • [FLINK-31632] - watermark aligned idle source can't resume
  • [FLINK-31652] - Flink should handle the delete event if the pod was deleted while pending
  • [FLINK-31653] - Using`if` statement for a string subtype of the row type may meet npe in code generated by codegen
  • [FLINK-31657] - ConfigurationInfo generates incorrect openapi schema
  • [FLINK-31670] - ElasticSearch connector's document was not incorrect linked to external repo
  • [FLINK-31683] - Align the outdated Chinese filesystem connector docs
  • [FLINK-31690] - The current key is not set for KeyedCoProcessOperator
  • [FLINK-31707] - Constant string cannot be used as input arguments of Pandas UDAF
  • [FLINK-31711] - OpenAPI spec omits complete-statement request body
  • [FLINK-31733] - Model name clashes in OpenAPI spec
  • [FLINK-31735] - JobDetailsInfo plan incorrectly documented as string
  • [FLINK-31738] - FlameGraphTypeQueryParameter#Type clashes with java.reflect.Type in generated clients
  • [FLINK-31743] - Avoid relocating the RocksDB's log failure when filename exceeds 255 characters
  • [FLINK-31758] - Some external connectors sql client jar has a wrong download url in document
  • [FLINK-31763] - Convert requested buffers to overdraft buffers when pool size is decreased
  • [FLINK-31792] - Errors are not reported in the Web UI
  • [FLINK-31818] - parsing error of 'security.kerberos.access.hadoopFileSystems' in flink-conf.yaml
  • [FLINK-31834] - Azure Warning: no space left on device
  • [FLINK-31839] - Token delegation fails when both flink-s3-fs-hadoop and flink-s3-fs-presto plugins are used
  • [FLINK-31882] - SqlGateway will throw exception when executing DeleteFromFilterOperation
  • [FLINK-31959] - Correct the unaligned checkpoint type at checkpoint level
  • [FLINK-31962] - libssl not found when running CI
  • [FLINK-31963] - java.lang.ArrayIndexOutOfBoundsException when scaling down with unaligned checkpoints
  • [FLINK-32010] - KubernetesLeaderRetrievalDriver always waits for lease update to resolve leadership
  • [FLINK-32027] - Batch jobs could hang at shuffle phase when max parallelism is really large
  • [FLINK-32029] - FutureUtils.handleUncaughtException swallows exceptions that are caused by the exception handler code

Improvement

  • [FLINK-29542] - Unload.md wrongly writes UNLOAD operation as LOAD operation
  • [FLINK-31398] - Don't wrap with TemporaryClassLoaderContext in OperationExecutor
  • [FLINK-31651] - Improve logging of granting/revoking leadership in JobMasterServiceLeadershipRunner to INFO level
  • [FLINK-31656] - Obtain delegation tokens early to support external file system usage in blob server
  • [FLINK-31692] - Integrate MongoDB connector docs into Flink website
  • [FLINK-31702] - Integrate Opensearch connector docs into Flink docs v1.17/master
  • [FLINK-31703] - Update Flink docs for AWS v4.1.0
  • [FLINK-31764] - Get rid of numberOfRequestedOverdraftMemorySegments in LocalBufferPool
  • [FLINK-31779] - Track stable branch of externalized connector instead of specific release tag
  • [FLINK-31799] - Python connector download link should refer to the url defined in externalized repository
  • [FLINK-31984] - Savepoint on S3 should be relocatable if entropy injection is not effective
  • [FLINK-32001] - SupportsRowLevelUpdate does not support returning only a part of the columns.
  • [FLINK-32024] - Short code related to externalized connector retrieve version from its own data yaml
  • [FLINK-32099] - create flink_data volume for operations playground
  • [FLINK-32112] - Fix the deprecated state backend sample config in Chinese document

Technical Debt