Apache Flink 1.2.1 Released

April 26, 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