Project: springxd
Issue XD-1177: Change module naming strategy in parser taking into account no duplicate labels and repeated modules
Labels should only be used help uniquely identify a module in a stream. The stream definition a | x: b | x: c | d should throw an error since the label x is applied to two modules. Also ambiguity exists with a stream definition such as http | transform | transform | filter | hdfs since a module with the name 'transform' will exist twice, meaning a tap on transform will result in message from both transform modules. To make the naming unique and the usage with taps, the following naming strategy is proposed demonstrated by example. http | transform | transform | filter | hdfs http, transform.0, transform.1, filter, hdfs If a use tries to tap on transform, an error would be shown saying that you could try to tap on transform.0 or transform.1 or alternatively use labels. http | transform | filter | transform | hdfs http, transform.0, filter, transform.1, hdfs http | x: transform | filter | transform | hdfs http, x, filter, transform, hdfs
Story points: 4