I took a look at the different sizes of a serialized `AbstractID` with and 
without the transient keyword:

* old `AbstractID`: 126 bytes
* old `AbstractID` with `toString` being called before serialization: 160 bytes
* transient `AbstractID`: 93 bytes

The issue has been created because ZhuZhu observed scalability issues when 
deploying very large jobs. I think he has a point given the different object 
sizes, because the `InputChannelDeploymentDescriptor` consists to a good part 
of `AbstractIDs`. Given this and that serialization is not a problem, I'm 
actually in favour of this improvement.

What we could do @yanghua is to serialize the old `AbstractID` and store the 
serialized data as a file in the testing resource folder. Then we could add a 
test, that the new AbstractID can be deserialized from this file.

[ Full content available at: https://github.com/apache/flink/pull/6755 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to