Apache Flink 1.9.1 Released

October 18, 2019 - Jark Wu (@JarkWu)

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

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

We highly recommend all users to upgrade to Flink 1.9.1.

Updated Maven dependencies:

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

You can find the binaries on the updated Downloads page.

List of resolved issues:

Bug

  • [FLINK-11630] - TaskExecutor does not wait for Task termination when terminating itself
  • [FLINK-13490] - Fix if one column value is null when reading JDBC, the following values are all null
  • [FLINK-13941] - Prevent data-loss by not cleaning up small part files from S3.
  • [FLINK-12501] - AvroTypeSerializer does not work with types generated by avrohugger
  • [FLINK-13386] - Fix some frictions in the new default Web UI
  • [FLINK-13526] - Switching to a non existing catalog or database crashes sql-client
  • [FLINK-13568] - DDL create table doesn't allow STRING data type
  • [FLINK-13805] - Bad Error Message when TaskManager is lost
  • [FLINK-13806] - Metric Fetcher floods the JM log with errors when TM is lost
  • [FLINK-14010] - Dispatcher & JobManagers don't give up leadership when AM is shut down
  • [FLINK-14145] - CompletedCheckpointStore#getLatestCheckpoint(true) returns wrong checkpoint
  • [FLINK-13059] - Cassandra Connector leaks Semaphore on Exception and hangs on close
  • [FLINK-13534] - Unable to query Hive table with decimal column
  • [FLINK-13562] - Throws exception when FlinkRelMdColumnInterval meets two stage stream group aggregate
  • [FLINK-13563] - TumblingGroupWindow should implement toString method
  • [FLINK-13564] - Throw exception if constant with YEAR TO MONTH resolution was used for group windows
  • [FLINK-13588] - StreamTask.handleAsyncException throws away the exception cause
  • [FLINK-13653] - ResultStore should avoid using RowTypeInfo when creating a result
  • [FLINK-13711] - Hive array values not properly displayed in SQL CLI
  • [FLINK-13737] - flink-dist should add provided dependency on flink-examples-table
  • [FLINK-13738] - Fix NegativeArraySizeException in LongHybridHashTable
  • [FLINK-13742] - Fix code generation when aggregation contains both distinct aggregate with and without filter
  • [FLINK-13760] - Fix hardcode Scala version dependency in hive connector
  • [FLINK-13761] - `SplitStream` should be deprecated because `SplitJavaStream` is deprecated
  • [FLINK-13789] - Transactional Id Generation fails due to user code impacting formatting string
  • [FLINK-13823] - Incorrect debug log in CompileUtils
  • [FLINK-13825] - The original plugins dir is not restored after e2e test run
  • [FLINK-13831] - Free Slots / All Slots display error
  • [FLINK-13887] - Ensure defaultInputDependencyConstraint to be non-null when setting it in ExecutionConfig
  • [FLINK-13897] - OSS FS NOTICE file is placed in wrong directory
  • [FLINK-13933] - Hive Generic UDTF can not be used in table API both stream and batch mode
  • [FLINK-13936] - NOTICE-binary is outdated
  • [FLINK-13966] - Jar sorting in collect_license_files.sh is locale dependent
  • [FLINK-14009] - Cron jobs broken due to verifying incorrect NOTICE-binary file
  • [FLINK-14049] - Update error message for failed partition updates to include task name
  • [FLINK-14076] - 'ClassNotFoundException: KafkaException' on Flink v1.9 w/ checkpointing
  • [FLINK-14107] - Kinesis consumer record emitter deadlock under event time alignment
  • [FLINK-14119] - Clean idle state for RetractableTopNFunction
  • [FLINK-14139] - Fix potential memory leak of rest server when using session/standalone cluster
  • [FLINK-14140] - The Flink Logo Displayed in Flink Python Shell is Broken
  • [FLINK-14150] - Unnecessary __pycache__ directories appears in pyflink.zip
  • [FLINK-14288] - Add Py4j NOTICE for source release
  • [FLINK-13892] - HistoryServerTest failed on Travis
  • [FLINK-14043] - SavepointMigrationTestBase is super slow
  • [FLINK-12164] - JobMasterTest.testJobFailureWhenTaskExecutorHeartbeatTimeout is unstable
  • [FLINK-9900] - Fix unstable test ZooKeeperHighAvailabilityITCase#testRestoreBehaviourWithFaultyStateHandles
  • [FLINK-13484] - ConnectedComponents end-to-end test instable with NoResourceAvailableException
  • [FLINK-13489] - Heavy deployment end-to-end test fails on Travis with TM heartbeat timeout
  • [FLINK-13514] - StreamTaskTest.testAsyncCheckpointingConcurrentCloseAfterAcknowledge unstable
  • [FLINK-13530] - AbstractServerTest failed on Travis
  • [FLINK-13585] - Fix sporadical deallock in TaskAsyncCallTest#testSetsUserCodeClassLoader()
  • [FLINK-13599] - Kinesis end-to-end test failed on Travis
  • [FLINK-13663] - SQL Client end-to-end test for modern Kafka failed on Travis
  • [FLINK-13688] - HiveCatalogUseBlinkITCase.testBlinkUdf constantly failed
  • [FLINK-13739] - BinaryRowTest.testWriteString() fails in some environments
  • [FLINK-13746] - Elasticsearch (v2.3.5) sink end-to-end test fails on Travis
  • [FLINK-13769] - BatchFineGrainedRecoveryITCase.testProgram failed on Travis
  • [FLINK-13807] - Flink-avro unit tests fails if the character encoding in the environment is not default to UTF-8

Improvement

  • [FLINK-13965] - Keep hasDeprecatedKeys and deprecatedKeys methods in ConfigOption and mark it with @Deprecated annotation
  • [FLINK-9941] - Flush in ScalaCsvOutputFormat before close method
  • [FLINK-13336] - Remove the legacy batch fault tolerance page and redirect it to the new task failure recovery page
  • [FLINK-13380] - Improve the usability of Flink session cluster on Kubernetes
  • [FLINK-13819] - Introduce RpcEndpoint State
  • [FLINK-13845] - Drop all the content of removed "Checkpointed" interface
  • [FLINK-13957] - Log dynamic properties on job submission
  • [FLINK-13967] - Generate full binary licensing via collect_license_files.sh
  • [FLINK-13968] - Add travis check for the correctness of the binary licensing
  • [FLINK-13449] - Add ARM architecture to MemoryArchitecture

Documentation

  • [FLINK-13105] - Add documentation for blink planner's built-in functions
  • [FLINK-13277] - add documentation of Hive source/sink
  • [FLINK-13354] - Add documentation for how to use blink planner
  • [FLINK-13355] - Add documentation for Temporal Table Join in blink planner
  • [FLINK-13356] - Add documentation for TopN and Deduplication in blink planner
  • [FLINK-13359] - Add documentation for DDL introduction
  • [FLINK-13362] - Add documentation for Kafka & ES & FileSystem DDL
  • [FLINK-13363] - Add documentation for streaming aggregate performance tunning.
  • [FLINK-13706] - add documentation of how to use Hive functions in Flink
  • [FLINK-13942] - Add Overview page for Getting Started section
  • [FLINK-13863] - Update Operations Playground to Flink 1.9.0
  • [FLINK-13937] - Fix wrong hive dependency version in documentation
  • [FLINK-13830] - The Document about Cluster on yarn have some problems
  • [FLINK-14160] - Extend Operations Playground with --backpressure option
  • [FLINK-13388] - Update UI screenshots in the documentation to the new default Web Frontend
  • [FLINK-13415] - Document how to use hive connector in scala shell
  • [FLINK-13517] - Restructure Hive Catalog documentation
  • [FLINK-13643] - Document the workaround for users with a different minor Hive version
  • [FLINK-13757] - Fix wrong description of "IS NOT TRUE" function documentation