Apache Flink 1.9.2 Released

January 30, 2020 - Hequn Cheng (@HequnC)

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

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

We highly recommend all users to upgrade to Flink 1.9.2.

Updated Maven dependencies:

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

You can find the binaries on the updated Downloads page.

List of resolved issues:

Sub-task

  • [FLINK-12122] - Spread out tasks evenly across all available registered TaskManagers
  • [FLINK-13360] - Add documentation for HBase connector for Table API & SQL
  • [FLINK-13361] - Add documentation for JDBC connector for Table API & SQL
  • [FLINK-13723] - Use liquid-c for faster doc generation
  • [FLINK-13724] - Remove unnecessary whitespace from the docs' sidenav
  • [FLINK-13725] - Use sassc for faster doc generation
  • [FLINK-13726] - Build docs with jekyll 4.0.0.pre.beta1
  • [FLINK-13791] - Speed up sidenav by using group_by
  • [FLINK-13817] - Expose whether web submissions are enabled
  • [FLINK-13818] - Check whether web submission are enabled
  • [FLINK-14535] - Cast exception is thrown when count distinct on decimal fields
  • [FLINK-14735] - Improve batch schedule check input consumable performance

Bug

  • [FLINK-10377] - Remove precondition in TwoPhaseCommitSinkFunction.notifyCheckpointComplete
  • [FLINK-10435] - Client sporadically hangs after Ctrl + C
  • [FLINK-11120] - TIMESTAMPADD function handles TIME incorrectly
  • [FLINK-11835] - ZooKeeperLeaderElectionITCase.testJobExecutionOnClusterWithLeaderChange failed
  • [FLINK-12342] - Yarn Resource Manager Acquires Too Many Containers
  • [FLINK-12399] - FilterableTableSource does not use filters on job run
  • [FLINK-13184] - Starting a TaskExecutor blocks the YarnResourceManager's main thread
  • [FLINK-13589] - DelimitedInputFormat index error on multi-byte delimiters with whole file input splits
  • [FLINK-13702] - BaseMapSerializerTest.testDuplicate fails on Travis
  • [FLINK-13708] - Transformations should be cleared because a table environment could execute multiple job
  • [FLINK-13740] - TableAggregateITCase.testNonkeyedFlatAggregate failed on Travis
  • [FLINK-13749] - Make Flink client respect classloading policy
  • [FLINK-13758] - Failed to submit JobGraph when registered hdfs file in DistributedCache
  • [FLINK-13799] - Web Job Submit Page displays stream of error message when web submit is disables in the config
  • [FLINK-13827] - Shell variable should be escaped in start-scala-shell.sh
  • [FLINK-13862] - Update Execution Plan docs
  • [FLINK-13945] - Instructions for building flink-shaded against vendor repository don't work
  • [FLINK-13969] - Resuming Externalized Checkpoint (rocks, incremental, scale down) end-to-end test fails on Travis
  • [FLINK-13995] - Fix shading of the licence information of netty
  • [FLINK-13999] - Correct the documentation of MATCH_RECOGNIZE
  • [FLINK-14066] - Pyflink building failure in master and 1.9.0 version
  • [FLINK-14074] - MesosResourceManager can't create new taskmanagers in Session Cluster Mode.
  • [FLINK-14175] - Upgrade KPL version in flink-connector-kinesis to fix application OOM
  • [FLINK-14200] - Temporal Table Function Joins do not work on Tables (only TableSources) on the query side
  • [FLINK-14235] - Kafka010ProducerITCase>KafkaProducerTestBase.testOneToOneAtLeastOnceCustomOperator fails on travis
  • [FLINK-14315] - NPE with JobMaster.disconnectTaskManager
  • [FLINK-14337] - HistoryServer does not handle NPE on corruped archives properly
  • [FLINK-14347] - YARNSessionFIFOITCase.checkForProhibitedLogContents found a log with prohibited string
  • [FLINK-14355] - Example code in state processor API docs doesn't compile
  • [FLINK-14370] - KafkaProducerAtLeastOnceITCase>KafkaProducerTestBase.testOneToOneAtLeastOnceRegularSink fails on Travis
  • [FLINK-14382] - Incorrect handling of FLINK_PLUGINS_DIR on Yarn
  • [FLINK-14398] - Further split input unboxing code into separate methods
  • [FLINK-14413] - Shade-plugin ApacheNoticeResourceTransformer uses platform-dependent encoding
  • [FLINK-14434] - Dispatcher#createJobManagerRunner should not start JobManagerRunner
  • [FLINK-14445] - Python module build failed when making sdist
  • [FLINK-14447] - Network metrics doc table render confusion
  • [FLINK-14459] - Python module build hangs
  • [FLINK-14524] - PostgreSQL JDBC sink generates invalid SQL in upsert mode
  • [FLINK-14547] - UDF cannot be in the join condition in blink planner
  • [FLINK-14561] - Don't write FLINK_PLUGINS_DIR ENV variable to Flink configuration
  • [FLINK-14562] - RMQSource leaves idle consumer after closing
  • [FLINK-14574] - flink-s3-fs-hadoop doesn't work with plugins mechanism
  • [FLINK-14589] - Redundant slot requests with the same AllocationID leads to inconsistent slot table
  • [FLINK-14641] - Fix description of metric `fullRestarts`
  • [FLINK-14673] - Shouldn't expect HMS client to throw NoSuchObjectException for non-existing function
  • [FLINK-14683] - RemoteStreamEnvironment's construction function has a wrong method
  • [FLINK-14701] - Slot leaks if SharedSlotOversubscribedException happens
  • [FLINK-14784] - CsvTableSink miss delimiter when row start with null member
  • [FLINK-14817] - "Streaming Aggregation" document contains misleading code examples
  • [FLINK-14846] - Correct the default writerbuffer size documentation of RocksDB
  • [FLINK-14910] - DisableAutoGeneratedUIDs fails on keyBy
  • [FLINK-14930] - OSS Filesystem Uses Wrong Shading Prefix
  • [FLINK-14949] - Task cancellation can be stuck against out-of-thread error
  • [FLINK-14951] - State TTL backend end-to-end test fail when taskManager has multiple slot
  • [FLINK-14953] - Parquet table source should use schema type to build FilterPredicate
  • [FLINK-14960] - Dependency shading of table modules test fails on Travis
  • [FLINK-14976] - Cassandra Connector leaks Semaphore on Throwable; hangs on close
  • [FLINK-15001] - The digest of sub-plan reuse should contain retraction traits for stream physical nodes
  • [FLINK-15013] - Flink (on YARN) sometimes needs too many slots
  • [FLINK-15030] - Potential deadlock for bounded blocking ResultPartition.
  • [FLINK-15036] - Container startup error will be handled out side of the YarnResourceManager's main thread
  • [FLINK-15063] - Input group and output group of the task metric are reversed
  • [FLINK-15065] - RocksDB configurable options doc description error
  • [FLINK-15076] - Source thread should be interrupted during the Task cancellation
  • [FLINK-15234] - Hive table created from flink catalog table shouldn't have null properties in parameters
  • [FLINK-15240] - is_generic key is missing for Flink table stored in HiveCatalog
  • [FLINK-15259] - HiveInspector.toInspectors() should convert Flink constant to Hive constant
  • [FLINK-15266] - NPE in blink planner code gen
  • [FLINK-15361] - ParquetTableSource should pass predicate in projectFields
  • [FLINK-15412] - LocalExecutorITCase#testParameterizedTypes failed in travis
  • [FLINK-15413] - ScalarOperatorsTest failed in travis
  • [FLINK-15418] - StreamExecMatchRule not set FlinkRelDistribution
  • [FLINK-15421] - GroupAggsHandler throws java.time.LocalDateTime cannot be cast to java.sql.Timestamp
  • [FLINK-15435] - ExecutionConfigTests.test_equals_and_hash in pyFlink fails when cpu core numbers is 6
  • [FLINK-15443] - Use JDBC connector write FLOAT value occur ClassCastException
  • [FLINK-15478] - FROM_BASE64 code gen type wrong
  • [FLINK-15489] - WebUI log refresh not working
  • [FLINK-15522] - Misleading root cause exception when cancelling the job
  • [FLINK-15523] - ConfigConstants generally excluded from japicmp
  • [FLINK-15543] - Apache Camel not bundled but listed in flink-dist NOTICE
  • [FLINK-15549] - Integer overflow in SpillingResettableMutableObjectIterator
  • [FLINK-15577] - WindowAggregate RelNodes missing Window specs in digest
  • [FLINK-15615] - Docs: wrong guarantees stated for the file sink

Improvement

  • [FLINK-11135] - Reorder Hadoop config loading in HadoopUtils
  • [FLINK-12848] - Method equals() in RowTypeInfo should consider fieldsNames
  • [FLINK-13729] - Update website generation dependencies
  • [FLINK-14008] - Auto-generate binary licensing
  • [FLINK-14104] - Bump Jackson to 2.10.1
  • [FLINK-14123] - Lower the default value of taskmanager.memory.fraction
  • [FLINK-14206] - Let fullRestart metric count fine grained restarts as well
  • [FLINK-14215] - Add Docs for TM and JM Environment Variable Setting
  • [FLINK-14251] - Add FutureUtils#forward utility
  • [FLINK-14334] - ElasticSearch docs refer to non-existent ExceptionUtils.containsThrowable
  • [FLINK-14335] - ExampleIntegrationTest in testing docs is incorrect
  • [FLINK-14408] - In OldPlanner, UDF open method can not be invoke when SQL is optimized
  • [FLINK-14557] - Clean up the package of py4j
  • [FLINK-14639] - Metrics User Scope docs refer to wrong class
  • [FLINK-14646] - Check non-null for key in KeyGroupStreamPartitioner
  • [FLINK-14825] - Rework state processor api documentation
  • [FLINK-14995] - Kinesis NOTICE is incorrect
  • [FLINK-15113] - fs.azure.account.key not hidden from global configuration
  • [FLINK-15554] - Bump jetty-util-ajax to 9.3.24
  • [FLINK-15657] - Fix the python table api doc link in Python API tutorial
  • [FLINK-15700] - Improve Python API Tutorial doc
  • [FLINK-15726] - Fixing error message in StreamExecTableSourceScan