Hi,

I am trying to understand how a runner can support the Stateful ParDo.
Currently our runner relies on the SimpleDoFnRunner (Beam-0.5.0). But it
cannot pass ParDoTest#testValueStateSideOutput (
https://github.com/apache/beam/blob/master/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/ParDoTest.java#L1607
)

The reason is that it maintains a global state instead of a *per-key* state
as explained in the latest Beam blog. I scanned through the implementation
of the SimpleDoFnRunner, the implementation does not seem to consider the
*per-key* state either (
https://github.com/apache/beam/blob/master/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java#L626
).

May I ask what is the recommended solution to handle stateful ParDo?

Thanks,

Shen

Reply via email to