What happened?
The pipeline with MapState was tested in Dataflow Java legacy runner without Streaming Engine.
The pipeline tests "clear", "put" and "remove" with a MapState. But, the job was stuck with a protobuf error thrown in WorkItemCommitRequest build when a key is removed from the MapState. The work was retried locally but hit the error indefinitely.
I believe this is because WindmillMap.persistDirect() doesn't set any value to Value.data for a removal while it's a required field in windmill.proto. It should set an empty data to delete a value state like WindmillValue.peristDirect().


Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components