Florian G created TINKERPOP-2712:
------------------------------------

             Summary: PropertyChangedEvent is triggered before Property is 
actually changed
                 Key: TINKERPOP-2712
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2712
             Project: TinkerPop
          Issue Type: Bug
          Components: process
    Affects Versions: 3.5.2
            Reporter: Florian G


[Event|https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/event/Event.java]s
 are triggered when the graph changes, including additions and deletions.

In my understanding, all events are triggered at a point in time where the 
modified element is either still present in the graph (i.e. right before 
removal) or already present in the graph (i.e. right after insertion).

As can be seen in 
[DropStep|https://github.com/apache/tinkerpop/blob/7f7d3a485c7f100f98047b71672a0c2c9ab855b4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DropStep.java],
 
[AddVertexStep|https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java],
 
[AddVertexStartStep|https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java],
 
[AddEdgeStep|https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java]
 and 
[AddEdgeStartStep|https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStep.java],
 this observation holds true. However, 
[AddPropertyStep|https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java]
 breaks this rule and triggers the event before the property is available in 
the graph.

This causes issues whenever users want to perform further actions on recently 
added elements, as vertices and edges are present in the graph, while 
properties are not.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to