-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BatchInserterImpl throws IllegalStateException, not IndexEntryConflictException #10738
Comments
There's a lot going on that test. From what I can understand from your comments this is about type of exception thrown from I produced a small test to do only that, asserting that the cause of the thrown exception is
It comes out green on 3.3. Am I missing something? |
Yes, your test is doing the right thing. But when I run this with neo4j 3.3.5 I do not get green lights but the mentioned IllegalStateException instead:
gives
How can that be different to yours? Does the filesystem play a role? This does not happen with 3.2.4 |
OK so that |
I find this index repopulation logic in I was able to reproduce btw... |
I fully agree that would be a nice behaviour that allows code to deal with the failed index situation as it likes to |
After updating neo4j from 3.2.4 to 3.3.1 the BatchInserter in an embedded neo db now throws IllegalStateException instead of an expected RuntimeException wrapping a IndexEntryConflictException.
The IllegalStateException in neo 3.3.1 is thrown in the finally section of the BatchInserterImpl at line 1019 when the lifecycle is shutdown, masking the previously, correctly thrown RuntimeException due to the broken unique constraint in line 1002.
Stacktrace
Steps to reproduce
The code fragment that used to run fine in neo 3.2.4, taken from https://github.com/gbif/checklistbank/blob/master/checklistbank-cli/src/test/java/org/gbif/checklistbank/neo/NeoInserterTest.java#L96
The text was updated successfully, but these errors were encountered: