Apache Flink 1.2.1 Released

26 Apr 2017

The Apache Flink community released the first bugfix version of the Apache Flink 1.2 series.

This release includes many critical fixes for Flink 1.2.0. The list below includes a detailed list of all fixes.

We highly recommend all users to upgrade to Flink 1.2.1.

Please note that there are two unresolved major issues in Flink 1.2.1 and 1.2.0:

  • FLINK-6353 Restoring using CheckpointedRestoring does not work from 1.2 to 1.2
  • FLINK-6188 Some setParallelism() methods can’t cope with default parallelism

You can find the binaries on the updated Downloads page.

Release Notes - Flink - Version 1.2.1


  • [FLINK-5546] - java.io.tmpdir setted as project build directory in surefire plugin
  • [FLINK-5640] - configure the explicit Unit Test file suffix
  • [FLINK-5723] - Use "Used" instead of "Initial" to make taskmanager tag more readable
  • [FLINK-5825] - In yarn mode, a small pic can not be loaded


  • [FLINK-4813] - Having flink-test-utils as a dependency outside Flink fails the build
  • [FLINK-4848] - keystoreFilePath should be checked against null in SSLUtils#createSSLServerContext
  • [FLINK-5628] - CheckpointStatsTracker implements Serializable but isn't
  • [FLINK-5644] - Task#lastCheckpointSize metric broken
  • [FLINK-5650] - Flink-python tests executing cost too long time
  • [FLINK-5652] - Memory leak in AsyncDataStream
  • [FLINK-5669] - flink-streaming-contrib DataStreamUtils.collect in local environment mode fails when offline
  • [FLINK-5678] - User-defined TableFunctions do not support all types of parameters
  • [FLINK-5699] - Cancel with savepoint fails with a NPE if savepoint target directory not set
  • [FLINK-5701] - FlinkKafkaProducer should check asyncException on checkpoints
  • [FLINK-5708] - we should remove duplicated configuration options
  • [FLINK-5732] - Java quick start mvn command line is incorrect
  • [FLINK-5749] - unset HADOOP_HOME and HADOOP_CONF_DIR to avoid env in build machine failing the UT and IT
  • [FLINK-5751] - 404 in documentation
  • [FLINK-5771] - DelimitedInputFormat does not correctly handle multi-byte delimiters
  • [FLINK-5773] - Cannot cast scala.util.Failure to org.apache.flink.runtime.messages.Acknowledge
  • [FLINK-5806] - TaskExecutionState toString format have wrong key
  • [FLINK-5814] - flink-dist creates wrong symlink when not used with cleaned before
  • [FLINK-5817] - Fix test concurrent execution failure by test dir conflicts.
  • [FLINK-5828] - BlobServer create cache dir has concurrency safety problem
  • [FLINK-5885] - Java code snippet instead of scala in documentation
  • [FLINK-5907] - RowCsvInputFormat bug on parsing tsv
  • [FLINK-5934] - Scheduler in ExecutionGraph null if failure happens in ExecutionGraph.restoreLatestCheckpointedState
  • [FLINK-5940] - ZooKeeperCompletedCheckpointStore cannot handle broken state handles
  • [FLINK-5942] - Harden ZooKeeperStateHandleStore to deal with corrupted data
  • [FLINK-5945] - Close function in OuterJoinOperatorBase#executeOnCollections
  • [FLINK-5949] - Flink on YARN checks for Kerberos credentials for non-Kerberos authentication methods
  • [FLINK-5962] - Cancel checkpoint canceller tasks in CheckpointCoordinator
  • [FLINK-5965] - Typo on DropWizard wrappers
  • [FLINK-5972] - Don't allow shrinking merging windows
  • [FLINK-5985] - Flink treats every task as stateful (making topology changes impossible)
  • [FLINK-6000] - Can not start HA cluster with start-cluster.sh
  • [FLINK-6001] - NPE on TumblingEventTimeWindows with ContinuousEventTimeTrigger and allowedLateness
  • [FLINK-6002] - Documentation: 'MacOS X' under 'Download and Start Flink' in Quickstart page is not rendered correctly
  • [FLINK-6006] - Kafka Consumer can lose state if queried partition list is incomplete on restore
  • [FLINK-6025] - User code ClassLoader not used when KryoSerializer fallbacks to serialization for copying
  • [FLINK-6051] - Wrong metric scope names in documentation
  • [FLINK-6084] - Cassandra connector does not declare all dependencies
  • [FLINK-6133] - fix build status in README.md
  • [FLINK-6170] - Some checkpoint metrics rely on latest stat snapshot
  • [FLINK-6181] - Zookeeper scripts use invalid regex
  • [FLINK-6182] - Fix possible NPE in SourceStreamTask
  • [FLINK-6183] - TaskMetricGroup may not be cleanup when Task.run() is never called or exits early
  • [FLINK-6184] - Buffer metrics can cause NPE
  • [FLINK-6203] - DataSet Transformations
  • [FLINK-6207] - Duplicate type serializers for async snapshots of CopyOnWriteStateTable
  • [FLINK-6308] - Task managers are not attaching to job manager on macos


  • [FLINK-4326] - Flink start-up scripts should optionally start services on the foreground
  • [FLINK-5217] - Deprecated interface Checkpointed make clear suggestion
  • [FLINK-5331] - PythonPlanBinderTest idling extremely long
  • [FLINK-5581] - Improve Kerberos security related documentation
  • [FLINK-5639] - Clarify License implications of RabbitMQ Connector
  • [FLINK-5680] - Document env.ssh.opts
  • [FLINK-5681] - Make ReaperThread for SafetyNetCloseableRegistry a singleton
  • [FLINK-5702] - Kafka Producer docs should warn if using setLogFailuresOnly, at-least-once is compromised
  • [FLINK-5705] - webmonitor's request/response use UTF-8 explicitly
  • [FLINK-5713] - Protect against NPE in WindowOperator window cleanup
  • [FLINK-5721] - Add FoldingState to State Documentation
  • [FLINK-5800] - Make sure that the CheckpointStreamFactory is instantiated once per operator only
  • [FLINK-5805] - improve docs for ProcessFunction
  • [FLINK-5807] - improved wording for doc home page
  • [FLINK-5837] - improve readability of the queryable state docs
  • [FLINK-5876] - Mention Scala type fallacies for queryable state client serializers
  • [FLINK-5877] - Fix Scala snippet in Async I/O API doc
  • [FLINK-5894] - HA docs are misleading re: state backends
  • [FLINK-5895] - Reduce logging aggressiveness of FileSystemSafetyNet
  • [FLINK-5938] - Replace ExecutionContext by Executor in Scheduler
  • [FLINK-6212] - Missing reference to flink-avro dependency

New Feature

  • [FLINK-6139] - Documentation for building / preparing Flink for MapR


  • [FLINK-2883] - Add documentation to forbid key-modifying ReduceFunction
  • [FLINK-3903] - Homebrew Installation