Hi everyone,

In some cases, by modulation leads to unexpected behavior for steps such as
valueMap, sample and dedup.

For valueMap(String... propertyKeys), applying the by modulator in a round
robin fashion requires that the provider is able to provide a map that can
be iterated in the exact order as specified by the argument. Because
ordering isn't necessarily guaranteed, we should only allow a single by
modulator that will be applied to all values in the map. In cases where a
user might try to add more than one by modulator, the subsequent by should
throw an exception.

Sample, dedup and related steps take multiple by modulators but will only
apply the very last one. This might be misleading as the user might think
that they round robin (as it would for other steps) when it's "last one
wins". These should all be changed to throw exceptions for subsequent by as
well.

Does anyone have any thoughts on changing these for 3.8?

Thanks,
Ken

Related issues:
https://issues.apache.org/jira/browse/TINKERPOP-2974
https://issues.apache.org/jira/browse/TINKERPOP-3121
https://issues.apache.org/jira/browse/TINKERPOP-3147
https://issues.apache.org/jira/browse/TINKERPOP-3148
https://issues.apache.org/jira/browse/TINKERPOP-3149
https://issues.apache.org/jira/browse/TINKERPOP-3150

Reply via email to