Hi Aljoscha:
Great. I cannot agree with you more. So I introduce OperatorSettings and
OperatorProperties.
StreamTaskConfig relys on the underlying configuration and is provided for
the streamTask to use. It contains:
1) in.physical.edges
2) out.physical.edges
3) chained OperatorSettings
4) execution environment: checkpoint, state.backend and so on...
OperatorSettings is serialisable and stores things that are tied to one
operator within the chain. It is provided for the streamTask to build an
operator. It contains:
1) operator information: name, id
2) streamOperator
3) input serializer.
4) output edges and serializers.
5) s.chain.start, is.chain.end
6) state.key.serializer
OperatorProperties can be an interface to view few things of
OperatorSettings, it is provided for an operator to setup, it contains:
1) operator information: name, id
2) input serializer.
3) is.chain.start, is.chain.end (existed now, maybe moved later)
4) state.key.serializer
What do you think?
Best Regards!
Xu Pingyong