Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
11-23-2021 07:22 PM
I want to use gds algorithm in a causal cluster. I have 3 cores and 2 replicas. I designed the cluster following the concept "write-read seperating", so I only run gds algos on replicas with stream mode. At the beginning, I used anonymous graphs mechanism, and it works fine. Recently, I try to use native projection to reducing the graph loading time. However, I find:
After I create a projected graph (named it as "A") on the leading core, A is synchronized to the other follower cores. But A is not synchronized to the read replicas.
This made me confused. Because if A cannot be synchronized to replicas, I need to create A on every replica one by one. This is not "smart"
Does anyone have similar experience? or could anyone have resolutions?
Thank you very much.
Leon
11-23-2021 08:05 PM
I am sorry for misleading.
After careful investigating on each core and replica, I found that A is only exists on the leading core and was not synchronized to any other core. What made me wrong is the internal routing. It means when I "call gds.graph.exists()" on a follower core, it actually run on the leading core. This made me misunderstood that A exists on the follower core, but actually not.
So my question may change to:
If a projected graph of gds cannot be synchronized in causal cluster, is it the only choice that I need to create the graph one by one on each replica? Is there any other better solution?
Thank you!
Leon
All the sessions of the conference are now available online