Hi All, As part of module support, we will need to generate names for operators internal to the module before adding it to the original DAG to avoid conflict of names. For example if a developer adds a operator with name "A" and module is name "M" in the DAG. Developer of 'M' is adding a operator 'A' into the module DAG. To avoid name conflict with the operator in the main DAG we will generate name for internal operators by concatenation of module name and operator name. The 'A' within module 'M' will be added to main DAG as 'M_A'. This works for recursive modules too. (i.e module containing module).
Which separator should we use for module namespace? The requirement are - Less chances of collision. (User can add operator with name 'M_A' too). - Compatible with json format. (Should not have a problem while parsing json response from rest api) - Should be able to specify property in dt-site.xml. While '_' works, In the pull request it has been pointed out that it has higher chance of collision. Few choices are 1) _ (Underscore) 2) __ (double underscore) 3) : (colon, I will check compatibility with rest API, as it is used to separate key and value in json) 4) :: (Double colon). 5) Let developer choose the separator by specifying dag property, but default is still needed. 6) Any other option? Please suggest which approach to take? Regards, -Tushar.
