Menu

We forked Apache Stateful Functions for Flink 2.x — here's why
🖼️

We forked Apache Stateful Functions for Flink 2.x — here's why

DEV Community·Oleksandr Kazimirov·6 months ago
#wLp8ziqd
#apacheflink#statefun#java#flink#stateful
Reading 0:00
15s threshold

Apache Stateful Functions is one of the quietly powerful frameworks in the Flink ecosystem - durable per-key state, exactly-once messaging, polyglot remote functions, all on top of Apache Flink. It's also been functionally dormant since October 2024 , and it doesn't run on Flink 2.x.

We needed it on Flink 2.x. So we maintained the continuation: kzmlabs/flink-statefun .

This post is the why and the how it's different . If you're already running upstream and wondering whether to migrate, or you're picking a stateful-actor framework today and trying to understand the landscape, read on.

What StateFun gives you

If you've never touched Stateful Functions, here's the elevator version. Compare a hand-written keyed Flink job:

public final class CounterFunction extends KeyedProcessFunction < String , Event , Result > {

private static final long serialVersionUID = 1L ;

private static final ValueStateDescriptor < Long > COUNT_DESCRIPTOR = new ValueStateDescriptor <>( "count" , Types .…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.