You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Stephen Mallette (Jira)" <ji...@apache.org> on 2021/08/04 11:29:00 UTC
[jira] [Updated] (TINKERPOP-2595) GraphStep clone() leaves
references to the original iteratingSupplier
[ https://issues.apache.org/jira/browse/TINKERPOP-2595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen Mallette updated TINKERPOP-2595:
----------------------------------------
Summary: GraphStep clone() leaves references to the original iteratingSupplier (was: GraphStep clone() doesn't leaves references to the original iteratingSupplier)
> GraphStep clone() leaves references to the original iteratingSupplier
> ---------------------------------------------------------------------
>
> Key: TINKERPOP-2595
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2595
> Project: TinkerPop
> Issue Type: Bug
> Components: process
> Affects Versions: 3.4.12
> Reporter: Stephen Mallette
> Priority: Major
>
> {{GraphStep}} retains the {{iteratingSupplier}} from the object it cloned. Typically, this is no problem because at strategy application a graph will replace {{GraphStep}} with its own implementation (e.g. TinkerGraph does this with {{TinkerGraphStep}}). However, if it is not replaced that {{iteratingSupplier}} will refer to the one from the original {{GraphStep}} and if strategies have not been applied and if that {{GraphStep}} belonged to an anonymous traversal, it will put the clone in a state where it will try to access {{EmptyGraph}} rather than the graph instance expected.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)