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
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 inWorkItemCommitRequestbuild when a key is removed from theMapState. The work was retried locally but hit the error indefinitely.I believe this is because WindmillMap.persistDirect() doesn't set any value to
Value.datafor 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