The Apache Flink community released the next bugfix version of the Apache Flink 1.12 series.

This release includes 73 fixes and minor improvements for Flink 1.12.2. The list below includes a detailed list of all fixes and improvements.

We highly recommend all users to upgrade to Flink 1.12.3.

Updated Maven dependencies:

<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>1.12.3</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>1.12.3</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients_2.11</artifactId> <version>1.12.3</version> </dependency>

You can find the binaries on the updated Downloads page.

List of resolved issues:

Bug

  • [FLINK-18071] - CoordinatorEventsExactlyOnceITCase.checkListContainsSequence fails on CI
  • [FLINK-20547] - Batch job fails due to the exception in network stack
  • [FLINK-20654] - Unaligned checkpoint recovery may lead to corrupted data stream
  • [FLINK-20722] - HiveTableSink should copy the record when converting RowData to Row
  • [FLINK-20752] - FailureRateRestartBackoffTimeStrategy allows one less restart than configured
  • [FLINK-20761] - Cannot read hive table/partition whose location path contains comma
  • [FLINK-20977] - USE DATABASE & USE CATALOG fails with quoted identifiers containing characters to be escaped in Flink SQL client
  • [FLINK-21008] - Residual HA related Kubernetes ConfigMaps and ZooKeeper nodes when cluster entrypoint received SIGTERM in shutdown
  • [FLINK-21012] - AvroFileFormatFactory uses non-deserializable lambda function
  • [FLINK-21133] - FLIP-27 Source does not work with synchronous savepoint
  • [FLINK-21148] - YARNSessionFIFOSecuredITCase cannot connect to BlobServer
  • [FLINK-21159] - KafkaSourceEnumerator not sending NoMoreSplitsEvent to unassigned reader
  • [FLINK-21178] - Task failure will not trigger master hook's reset()
  • [FLINK-21289] - Application mode ignores the pipeline.classpaths configuration
  • [FLINK-21387] - DispatcherTest.testInvalidCallDuringInitialization times out on azp
  • [FLINK-21388] - Parquet DECIMAL logical type is not properly supported in ParquetSchemaConverter
  • [FLINK-21431] - UpsertKafkaTableITCase.testTemporalJoin hang
  • [FLINK-21434] - When UDAF return ROW type, and the number of fields is more than 14, the crash happend
  • [FLINK-21497] - JobLeaderIdService completes leader future despite no leader being elected
  • [FLINK-21515] - SourceStreamTaskTest.testStopWithSavepointShouldNotInterruptTheSource is failing
  • [FLINK-21518] - CheckpointCoordinatorTest.testMinCheckpointPause fails fatally on AZP
  • [FLINK-21523] - ArrayIndexOutOfBoundsException occurs while run a hive streaming job with partitioned table source
  • [FLINK-21535] - UnalignedCheckpointITCase.execute failed with "OutOfMemoryError: Java heap space"
  • [FLINK-21550] - ZooKeeperHaServicesTest.testSimpleClose fail
  • [FLINK-21552] - The managed memory was not released if exception was thrown in createPythonExecutionEnvironment
  • [FLINK-21606] - TaskManager connected to invalid JobManager leading to TaskSubmissionException
  • [FLINK-21609] - SimpleRecoveryITCaseBase.testRestartMultipleTimes fails on azure
  • [FLINK-21654] - YARNSessionCapacitySchedulerITCase.testStartYarnSessionClusterInQaTeamQueue fail because of NullPointerException
  • [FLINK-21661] - SHARD_GETRECORDS_INTERVAL_MILLIS wrong use?
  • [FLINK-21685] - Flink JobManager failed to restart from checkpoint in kubernetes HA setup
  • [FLINK-21691] - KafkaSource fails with NPE when setting it up
  • [FLINK-21707] - Job is possible to hang when restarting a FINISHED task with POINTWISE BLOCKING consumers
  • [FLINK-21710] - FlinkRelMdUniqueKeys gets incorrect result on TableScan after project push-down
  • [FLINK-21725] - DataTypeExtractor extracts wrong fields ordering for Tuple12
  • [FLINK-21733] - WatermarkAssigner incorrectly recomputing the rowtime index which may cause ArrayIndexOutOfBoundsException
  • [FLINK-21746] - flink sql fields in row access error about scalarfunction
  • [FLINK-21753] - Cycle references between memory manager and gc cleaner action
  • [FLINK-21817] - New Kafka Source might break subtask and split assignment upon rescale
  • [FLINK-21833] - TemporalRowTimeJoinOperator.java will lead to the state expansion by short-life-cycle & huge RowData, although config idle.state.retention.time
  • [FLINK-21889] - source:canal-cdc , sink:upsert-kafka, print "select * from sinkTable", throw NullException
  • [FLINK-21922] - The method partition_by in Over doesn't work for expression dsl
  • [FLINK-21933] - [kinesis][efo] EFO consumer treats interrupts as retryable exceptions
  • [FLINK-21941] - testSavepointRescalingOutPartitionedOperatorStateList fail
  • [FLINK-21942] - KubernetesLeaderRetrievalDriver not closed after terminated which lead to connection leak
  • [FLINK-21944] - AbstractArrowPythonAggregateFunctionOperator.dispose should consider whether arrowSerializer is null
  • [FLINK-21969] - PythonTimestampsAndWatermarksOperator emitted the Long.MAX_VALUE watermark before emitting all the data
  • [FLINK-21980] - ZooKeeperRunningJobsRegistry creates an empty znode
  • [FLINK-21986] - taskmanager native memory not release timely after restart
  • [FLINK-21992] - Fix availability notification in UnionInputGate
  • [FLINK-21996] - Transient RPC failure without TaskManager failure can lead to split assignment loss
  • [FLINK-22006] - Could not run more than 20 jobs in a native K8s session when K8s HA enabled
  • [FLINK-22024] - Maven: Entry has not been leased from this pool / fix for release 1.12
  • [FLINK-22053] - NumberSequenceSource causes fatal exception when less splits than parallelism.
  • [FLINK-22055] - RPC main thread executor may schedule commands with wrong time unit of delay
  • [FLINK-22061] - The DEFAULT_NON_SPLITTABLE_FILE_ENUMERATOR defined in FileSource should points to NonSplittingRecursiveEnumerator
  • [FLINK-22081] - Entropy key not resolved if flink-s3-fs-hadoop is added as a plugin
  • [FLINK-22082] - Nested projection push down doesn't work for data such as row(array(row))
  • [FLINK-22124] - The job finished without any exception if error was thrown during state access
  • [FLINK-22172] - Fix the bug of shared resource among Python Operators of the same slot is not released
  • [FLINK-22184] - Rest client shutdown on failure runs in netty thread
  • [FLINK-22191] - PyFlinkStreamUserDefinedFunctionTests.test_udf_in_join_condition_2 fail due to NPE
  • [FLINK-22327] - NPE exception happens if it throws exception in finishBundle during job shutdown
  • [FLINK-22339] - Fix some encoding exceptions were not thrown in cython coders
  • [FLINK-22345] - CoordinatorEventsExactlyOnceITCase hangs on azure
  • [FLINK-22385] - Type mismatch in NetworkBufferPool

Improvement

  • [FLINK-20533] - Add histogram support to Datadog reporter
  • [FLINK-21382] - Standalone K8s documentation does not explain usage of standby JobManagers
  • [FLINK-21521] - Pretty print K8s specifications
  • [FLINK-21690] - remove redundant tolerableCheckpointFailureNumber setting in CheckpointConfig
  • [FLINK-21735] - Harden JobMaster#updateTaskExecutionState()
  • [FLINK-22051] - Better document the distinction between stop-with-savepoint and stop-with-savepoint-with-drain
  • [FLINK-22142] - Remove console logging for Kafka connector for AZP runs
  • [FLINK-22208] - Bump snappy-java to 1.1.5+
  • [FLINK-22297] - Perform early check to ensure that the length of the result is the same as the input for Pandas UDF