Closed jonas-wago closed 2 years ago
Related to #2138 (same cause)
I'm having the same issue on Neo4j 4.3.2. Do you have any idea when the PR is going to be merged? Thank you!
In my case on 4.3.5 and APOC 4.3.0.3 it doesn't work so I don't believe it's fixed.
Seems like it broke after 4.2.0.2, I can't try 4.2.0.3 / 4.2.0.4 as I don't know how to download specific versions. But it works for 4.2.0.2 and it does not work starting version 4.2.0.5
I was bitten by this too. I was able to work around it by downgrading to APOC 4.3.0.0.
To do this:
For good measure, I also ran CALL apoc.uuid.removeAll() yield label, installed, properties
in Neo4j Browser and then reset all my data, but that may not have been necessary.
Based on the commit history of the UUID code, this change may have introduced the bug, which is included in APOC 4.3.0.1 and newer.
I still had some trouble with this exception on the first Neo4j restart after upgrading Neo4j from 4.3.x to 4.4.1 and apoc from 4.3.0.0 to 4.4.0.1.
I was able to work around with this script, to reinstall the APOC UUID handler for every node label that I'd previously installed it for. After running this, I restarted Neo4j and didn't see the error org.neo4j.graphdb.NotFoundException: No such property, 'addToSetLabel'
.
:param uuidLabels => ["Foo", "Bar", "Baz"]
UNWIND $uuidLabels as uuidLabel
CALL apoc.uuid.install(uuidLabel)
YIELD label, installed
RETURN label, installed
Maybe the APOC UUID code needs to be made backwards compatible to allow it to start up if the addToSetLabel
property isn't initially present?
Looking at the docs I tried using the apoc uuids in a new empty database. However when I restarted the server new nodes wouldn't get the uuid property anymore. Looking into the
logs\neo4j.log
I found that an exception had been thrown during server startup:Am I missing something?
Guidelines
Please note that GitHub issues are only meant for bug reports/feature requests. If you have questions on how to use APOC, please ask on the Neo4j Discussion Forum instead of creating an issue here.
Expected Behavior (Mandatory)
After installing the APOC uuid handler to a label, whenever a new node is created with that label the uuid property is added. That also applys when the database gets restarted.
Actual Behavior (Mandatory)
The uuid property gets added. But on neo4j server restart an exception can be seen in the logs and no uuids get added to new nodes.
Suspected Cause
The exception (as seen in the logs) gets thrown for
addToSetLabel
and not for the config parameteraddToSetLabels
(notice the missings
) and destroys the uuid handler.How to Reproduce the Problem
Simple Dataset (where it's possibile)
Steps (Mandatory)
apoc.uuid.enabled=true
CREATE CONSTRAINT ON (any:Foo) ASSERT any.uuid IS UNIQUE;
CALL apoc.uuid.install('Foo', {addToExistingNodes: false, uuidProperty: 'uuid'}) yield label, installed, properties, batchComputationResult;
CREATE (n:Foo) RETURN n;
CREATE (n:Foo) RETURN n;
CALL apoc.uuid.install('Foo', {addToExistingNodes: false, uuidProperty: 'uuid'}) yield label, installed, properties, batchComputationResult;
againCREATE (n:Foo) RETURN n;
MATCH (n:Foo) RETURN n;
and find out that the 2 are still missing their uuids (only the first one still has a uuid).Screenshots (where it's possibile)
The
logs\neo4j.log
file:Specifications (Mandatory)
Currently used versions
Versions