gchq / Gaffer

A large-scale entity and relation database supporting aggregation of properties
Apache License 2.0
1.77k stars 350 forks source link

Gafferpop includes library specific classes in operation chains #3183

Closed tb06904 closed 6 months ago

tb06904 commented 6 months ago

Describe the bug This is relevant when using a proxy store to connect gafferpop to an existing a graph, the gremlin functions will fail. This is due to a slight implementation oversight where the gafferpop element generators are included in the operation chains that are used. This is an issue when using the proxy store as the whole chain is sent to the remote graph which may not have tinkerpop library and serialisation is currently missing.

Expected behaviour A better solution would be to have this element translation happen locally instead. Essentially only the 'plain' Gaffer operations should be executed on the graph via gafferpop, all gafferpop specific bits should happen before or on the results outside of the chain sent to the remote graph.