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