Key Changes and New Features in Apache Flink 1.8.0 Release
Apache Flink 1.8.0 introduces incremental state cleanup with TTL, updates Hadoop support, deprecates TableEnvironment static methods, adds new Kafka deserialization schema, modifies Maven dependencies, and provides several configuration and Table API enhancements for better stream‑processing performance and compatibility.
Flink 1.8.0 was released with major changes including incremental cleanup of old state using TTL, new support for RocksDB and heap state backends, and the removal of binary distributions that bundle Hadoop.
State management now continuously removes expired keys based on TTL, and savepoint/checkpoint writing also triggers cleanup. The release adds new support for schema migration when restoring savepoints, including PojoSerializer, Java EnumSerializer, and limited Kryo support.
Savepoint compatibility is affected: snapshots created with Flink 1.2 (Scala) are not compatible with Flink 1.8; upgrading through intermediate versions (1.3‑1.7) is required.
RocksDB version conflicts are resolved by switching to a custom build named FRocksDB (based on RocksDB 5.17.2), which is required for TTL‑based state cleanup and is supported on macOS ≥ 10.13.
Maven dependencies changed: the convenient binary that bundled Hadoop is no longer published. Users must manually download Hadoop jars and place them in the /lib directory or enable the include-hadoop Maven profile when building Flink‑dist.
Configuration updates include a new default for TaskManager network binding (IP address instead of hostname) controllable via taskmanager.network.bind-policy, and several Table API deprecations such as the direct use of table constructors, static TableEnvironment.getTableEnvironment(), and old CSV descriptors. New CSV format descriptors compliant with RFC4180 are introduced.
Connector enhancements add a new KafkaDeserializationSchema that can directly access ConsumerRecord, and FlinkKafkaConsumer now filters restored partitions based on topic specifications, with an option to disable this behavior.
Other interface changes remove the canEqual() method from TypeSerializer and delete the CompositeSerializerSnapshot utility class, simplifying the serialization framework.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Big Data Technology & Architecture
Wang Zhiwu, a big data expert, dedicated to sharing big data technology.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
