apoc.hashing.fingerprintGraph() failed - java.lang.RuntimeException


We are writing tests to our program, and we are trying to compare a whole database.
We discovered the apoc.hashing.fingerprintGraph() command that output an MD5 of the graph.

Our problem is that when we run it, sometimes we are getting the following error - java.lang.RuntimeException.
We tried a lot of solutions but we couldnt make it work.
We think that the problem is the size of the database, since the command work on small DBs, but when tried to run the command on a DB with 5000000 nodes, it worked.
We tried giving the server more RAM, 32G but still not working.

We dont know what is the reason that the command isnt working.
Out DB contains 277000 Nodes and 680000 Relations.

Thank you very much!! :slight_smile:

Hi Michael,

that limitation was intentional for a first implementation of fingerprinting. The implementation basically builds up a maps of node -> hashsum. Those maps need to processed in a consistent way enforcing them to be sorted. This has a high memory footprint of course.
Maybe I could introduce a kind of "spill-over-to-disc" map implementation causing fingerprinting being slow but preventing excessive memory usage.
Could you please create a github issue for apoc on this?