Graphaware Issue: Relationship with UUID exists, when restarting the database

graphaware

(Dave) #1

Having this issue when I restart the database, not sure exactly how many rels are affecte but it created a 6Gb log file in about 6 hours with the following warnings.

2018-12-11 04:57:29.924+0000 WARN  An exception occurred while executing transaction Another org.neo4j.kernel.impl.core.RelationshipProxy with UUID 30b75a27-510c-11e8-9a85-1a3818eb48f4 already exists (#7952374)!
com.graphaware.runtime.module.DeliberateTransactionRollbackException: Another org.neo4j.kernel.impl.core.RelationshipProxy with UUID 30b75a27-510c-11e8-9a85-1a3818eb48f4 already exists (#7952374)!

I'm hoping that when it comes to reindexing via the neo4j-to-elasticsearch there isn't any data loss.

Has anyone come across this before? Or @GraphAware is this something I need to raise on the github as an issue?


(Christophe Willemsen) #2

What does your configuration for uuid looks like? Did you have relationship uuids manually assigned?


(Dave) #3

Hi Chris,

Just using the default settings as per the plugin's docs

com.graphaware.module.UIDM.1=com.graphaware.module.uuid.UuidBootstrapper
com.graphaware.module.UIDM.uuidProperty=_id
com.graphaware.module.UIDM.relationship=com.graphaware.runtime.policy.all.IncludeAllBusinessRelationships

(Christophe Willemsen) #4

Can you confirm the relationships contain already a uuid? If you can give a bit more of context about the current state of your data so I can try to reproduce it would be nice.


(Dave) #5

Yes, the relationships have uuids, as set by the uuid plugin previously on startup, everything looked like it was ok when I last had access to the data, it's a 36 hour restart process with the UUID plugin to get through everything in the database, including the relationships. All nodes and relationships had uuids as expected. There are no issues with the database itself I can access it via the bolt connection and so far it looks ok and runs queries but I have no access yet via the api, as it is still reindexing the ES database. Are there any tests i can run via the bolt connection that would provide you with a bit more informatin?

If it makes a different I had restarted the database after a hardware issue, which caused the cpu to max out at 100% for about 4 hoours, but this is not Java related.


(Dave) #6

@Christophe_Willemsen just as an update the database has loaded ok, and when I run a count on the number of rels without uuid I do get 0.

I do have one other quick question, I'm using apoc.periodic.iterate to batch update some relationships which are mapped in the neo4j-to-ES plugin, the browser has crashed and I'm getting connection timeout errors when trying to connect via the browser or cypher-admin, but I'm getting the following in the neo4j.log, every 50 seconds or so

INFO Queue size: 216

Does this indicate that the plugin and Neo, is still running and that it's very slowly syncing with ES? I do not get any of the expected logs to say a bulk number of relationships have been processed. I have set the queueSize to 1000 in the config.