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]

Reply via email to