<p dir="auto">The documentation for neo4j 2.3.2 says:</p>
<p dir="auto">"CREATE UNIQUE is in the middle of MATCH and CREATE — it will match what it can, and create what is missing. CREATE UNIQUE will always make the least change possible to the graph — if it can use parts of the existing graph, it will." (<a href="http://neo4j.com/docs/stable/query-create-unique.html" rel="nofollow">http://neo4j.com/docs/stable/query-create-unique.html</a>)</p>
<p dir="auto">This seems inaccurate, or at least confusing. There are several StackOverflow threads where people say that CREATE UNIQUE doesn't follow the "least change possible" rule:</p>
<p dir="auto"><a href="http://stackoverflow.com/questions/35290079/create-unique-in-neo4j-produces-duplicate-nodes" rel="nofollow">http://stackoverflow.com/questions/35290079/create-unique-in-neo4j-produces-duplicate-nodes</a></p>
<p dir="auto"><a href="http://stackoverflow.com/questions/13583504/neo4j-not-reusing-existing-vertex-in-cypher-create-unique-query" rel="nofollow">http://stackoverflow.com/questions/13583504/neo4j-not-reusing-existing-vertex-in-cypher-create-unique-query</a></p>
<p dir="auto">Hello! I have rather good experience with neo4j 3.X and jre8, but struggle to migrate to jre11 and neo4j.</p>
<p dir="auto">I always recreate DB with neo4j-admin from csv (about 40GB)<br>
DB path is custom and set in /etc/neo4j/neo4j.conf<br>
The issue is not related to permissions. I tried to chown and to create everything by neo4j user.</p>
<p dir="auto">I get NO errors on neo4j-admin (except for missing nodes), but when I start neo4j, it fails completely.<br>
debug.log is attached</p>
<p dir="auto"><a href="https://github.com/neo4j/neo4j/files/4144823/debug.log">debug.log</a></p>
<p dir="auto">The system that works great: CentOS7 with jre8 and neo4j 3 (I started with 3.0, till 3.5.14) from repo<br>
The system that fails: Debian 10.2 with jre11 and neo4j 4.0.0 from repo</p>
<p dir="auto">import syntax for neo4j 3.5:<br>
neo4j-admin import --mode=csv <br>
--nodes:ids:Obj scripts/obj.h,obj <br>
--nodes:ids:Obj scripts/obj.h,static/idsss <br>
--nodes:ids:Obj scripts/obj.h,static/allids <br>
--relationships:present scripts/rel.h,normal <br>
--relationships:present scripts/rel.h,static/rel01 <br>
--relationships:present scripts/rel.h,static/rel02 <br>
--relationships:colleague scripts/rel.h,hist <br>
--ignore-missing-nodes=true --ignore-duplicate-nodes=true</p>
<p dir="auto">for neo4j 4.0.0:<br>
neo4j-admin import --database=graph --max-memory=2g --high-io=false <br>
--nodes=ids:Obj=scripts/obj.h,obj <br>
--nodes=ids:Obj=scripts/obj.h,static/idsss <br>
--nodes=ids:Obj=scripts/obj.h,static/allids <br>
--relationships=present=scripts/rel.h,normal <br>
--relationships=present=scripts/rel.h,static/rel01 <br>
--relationships=present=scripts/rel.h,static/rel02 <br>
--relationships=colleague=scripts/rel.h,hist <br>
--skip-duplicate-nodes=true <br>
--skip-bad-relationships=true</p>
<p dir="auto">source files are the same.</p>