User may specify his own data types which can work within local execution context, but won't work on distributed environment as the class is non-serializable.
It's really hard to debug during execution, however should be easy to check what types beans are working with and if they are serializable.
There is an open question though, it is critical when the object is actually transferred, so check may occur only for Pod after it is planned, and ignored if the object is not supposed to be transferred. However that approach is fishy, as that ability depends on how the topology actually planned and may change depending on the input parameters. And it is probably just safer to forbid to have non-serializable objects.
User may specify his own data types which can work within local execution context, but won't work on distributed environment as the class is non-serializable. It's really hard to debug during execution, however should be easy to check what types beans are working with and if they are serializable.
There is an open question though, it is critical when the object is actually transferred, so check may occur only for Pod after it is planned, and ignored if the object is not supposed to be transferred. However that approach is fishy, as that ability depends on how the topology actually planned and may change depending on the input parameters. And it is probably just safer to forbid to have non-serializable objects.