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)