spmallette commented on code in PR #3212: URL: https://github.com/apache/tinkerpop/pull/3212#discussion_r2375534998
########## docs/src/upgrade/release-3.8.x.asciidoc: ########## @@ -699,6 +699,93 @@ some of the interfaces in the gremlin traversal engine. This has led to several As of 3.8.0 `with()` modulation of the following steps will no longer work: `addV()`, `addE()`, `property()`, `drop()`, `mergeV()`, and `mergeE()`. +==== Stricter RepeatUnrollStrategy + +The `RepeatUnrollStrategy` has been updated to use a more conservative approach for determining which repeat traversals +are safe to unroll. Previously, the strategy would attempt to unroll most repeat loops. This caused unintentional +traversal semantic changes when some steps were unrolled (especially barrier steps). + +Now, the strategy only applies to repeat traversals that contain exclusively safe, well-understood steps: +`out()`, `in()`, `both()`, `inV()`, `outV()`, `otherV()`, `has(key, value)` + +Repeat traversals containing other steps will no longer be unrolled. There may be some performance differences for +traversals that previously benefited from automatic unrolling but the consistency of semantics outweighs the performance +impact. + +See: link:https://issues.apache.org/jira/browse/TINKERPOP-3192[TINKERPOP-3192] Review Comment: please move the link to the bottom of the section. -- 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]
