Cole-Greer commented on code in PR #3233: URL: https://github.com/apache/tinkerpop/pull/3233#discussion_r2461887305
########## docs/src/upgrade/release-3.8.x.asciidoc: ########## @@ -293,6 +293,89 @@ The properties file in the above example can either point to a remote configurat See: link:https://issues.apache.org/jira/browse/TINKERPOP-3017[TINKERPOP-3017] +==== `aggregate()` with `Scope` Removed + +The `Scope` parameter is being removed from `aggregate()` to fix inconsistency between two different use cases: flow +control vs. per-element application. This change aligns all side effect steps (none of the others have scope arguments) +and reserves the `Scope` parameter exclusively for "traverser-local" application patterns, eliminating confusion about +its contextual meanings. Review Comment: I think this becomes a bit clearer if we start by establishing more context: ```suggestion The meaning of `Scope` parameters in `aggregate()` have always been unique compared to all other "scopable" steps. `aggregate(global)` is a `Barrier`, which blocks the traversal until all traversers have been aggregated into the side effect, where `aggregate(local)` is non-blocking, and will allow traversers to pass before the side effect has been fully aggregated. This is inconsistent with the semantics of `Scope` in all other steps. For example `dedup(global)` filters duplicates across the entire traversal stream, while `dedup(local)` filters duplicates within individual `List` traversers. The `Scope` parameter is being removed from `aggregate()` to fix inconsistency between the two different use cases: flow control vs. per-element application. This change aligns all side effect steps (none of the others have scope arguments) and reserves the `Scope` parameter exclusively for "traverser-local" application patterns, eliminating confusion about its contextual meanings. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
