In-place delta graph refresh

This guide describes how you can set up a graph loaded from RDBMS Oracle Property Graph to be refreshed in-place. Graphs that are updated in-place don’t create a new snapshot of the graph when being refreshed in case the changes contain property updates only. In case the graph has topological updates a new snapshot is generated anyway. Vertex label and edge label updates are also considered topological updates.

To use this feature, the flag update_properties_in_place should be set to true in the graph loading config

{
  "format": "pg",
  "jdbc_url": "jdbc:oracle:thin:@mydatabaseserver:1521/dbName",
  "username": "username",
  "password": "password",
  "name": "my_graph",
  "loading_options": {
    "auto_refresh": true,
    "fetch_interval_sec": 300,
    "update_interval_sec": 1200,
    "update_threshold": 1000,
    "create_edge_id_index": true,
    "create_edge_id_mapping": true,
    "update_properties_in_place": true
  }
}

Analysis tasks (pgql queries and Green marl algorithms) are delayed if an in-place update for the requested graph is happening. If an analytic task is running while an in-place update is applied users can select the consistency model that should be used, we support two models: ALLOW_INCONSISTENCIES the default behavior which keeps the running tasks, it might lead to unexpected results. The second model is CANCEL_TASKS: tasks running during an update will get canceled, new tasks will get delayed.