Any ideas on the standard way ( or any roundabout way ) of doing a version
upgrade that looks back ward compatible.
The @FieldSerializer.Optional("0") actually does ignore the field ( even
if reset ) giving it the default value if kyro is used. It has to do with
the FieldSerializer behaves . There is another Serializer ( Composite I
believe ) that allows for such back ward compatible changes.
I know some work is being done in 1.6 to allow for above use case and I
think Google Data Flow does provide some avenues.
Thanks much
Vishal
On Tue, Jun 12, 2018 at 11:30 PM, Vishal Santoshi <[email protected]
> wrote:
> I have a running pipe with Window State in a class say
>
> Class A{
> long a;
> }
>
> It uses the default KryoSerializer
>
> I want to add a field to
>
> Class A {
> long a;
> long b;
> }
>
> I need to suspend with SP and resume with the new version of Class A
>
>
> Is there a definite way to do this. I tried
>
> Class A {
> long a;
> @FieldSerializer.Optional("0")
> long b;
> }
>
> but that seems to default to 0 , even when the Aggregation is putting in
> values.
>
> Could somebody give pointers as to how to solve this
>
> Thanks a ton.
>
>
>
>