Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.10.1
-
None
Description
A set number of arguments is transferred whenever a user defines an operation. For a CSV Source for example these are delimiters/filepath, for a map function only the set ID'S are transferred. As such, for all operators a separate routine is defined that governs which arguments are transferred.
While working on FLINK-3275 I realized that adding a new argument/parameter, in this case parallelism, is not as straightforward as it could be. Most newly added operators will require a new routine; whereas adding new arguments may require the modification of multiple routines. Over times, this is bound to become a big mess.
All arguments are stored in an OperationInfo object, which also contains default values for all unused arguments. I want to generalize the whole affair by transferring all arguments, used or not.
This will reduce clutter, make it easier to add new parameters (only 4 new lines needed, 2 for defining new fields inside Java/Python OperationInfo Classes; 1 each for sending/receiving the new argument) and will make the transfer consistent across all operations.