Hi Nate, Glad to see you trying out the new API.
Well, you're right that the `ProcessFunctionTestHarnesses` doesn't support the new state API yet. There are operators tailored for async state access, as well the operator test harness. But unfortunately we can't tell in advance if a `KeyedProcessFunction` is using the new state api or not, so current `forKeyedProcessFunction` still uses the operator without async state support. I've created a ticket[1] and will add a method for the case. [1] https://issues.apache.org/jira/browse/FLINK-37944 Best, Zakelly On Wed, Jun 11, 2025 at 3:29 AM Nate Drake <ndr...@gmail.com> wrote: > Hi, > > I'm attempting to unit test a KeyedProcessFunction that uses v2 Async > State API using "ProcessFunctionTestHarnesses.forKeyedProcessFunction()". > When I run my test it fails with: > > "Caused by: java.lang.IllegalStateException: Current operator integrates > the async processing logic, thus only supports state v2 APIs. Please use > StateDescriptor under 'org.apache.flink.runtime.state.v2'." > > I ran into a similar issue when attempting to run integration tests for > the function even though I confirmed I'm using the .v2. packages and > properly calling ".enableAsyncState()". After finding these two issues in > Jira: > > https://issues.apache.org/jira/browse/FLINK-37621 > https://issues.apache.org/jira/browse/FLINK-37623 > > I updated my project to use Flink 2.1.0-SNAPSHOT. That fixed my > integration test, but my unit test is still failing. > > I'm not sure if I'm doing something wrong in my test or if maybe > ProcessFunctionTestHarnesses doesn't support Async State yet. > > Any ideas? > > Thanks! > > Nate >