Hi,

When I am reading the code from flink-training-repo [1], I noticed the following code:

```java

public static class EnrichmentFunction
        extends RichCoFlatMapFunction<TaxiRide, TaxiFare, RideAndFare> {

    private ValueState<TaxiRide>rideState; private 
ValueState<TaxiFare>fareState; ... }

```

From my understanding, since ValueState variables here are scoped to each instance, they should not be serialized for the performance sake. Thus, we should always mark them with "transient". Similar discussion can be found here [2].

Should we always mark ValueState as "transient", and why? Please help me to figure it out.

[1] https://github.com/apache/flink-training/blob/master/rides-and-fares/src/solution/java/org/apache/flink/training/solutions/ridesandfares/RidesAndFaresSolution.java

[2] https://stackoverflow.com/questions/72556202/flink-managed-state-as-transient

Reply via email to