Giter VIP home page Giter VIP logo

Comments (4)

JonasHolgersson avatar JonasHolgersson commented on September 24, 2024

Thanks for reporting, we will look into it.

from neo4j.

arnefischereit avatar arnefischereit commented on September 24, 2024

There exists a support case in parallel to this issue.

Short description of what is happening:
The query engine optimiser uses indexes and constraints for executing the query. In your scenario, these are added and removed while the optimiser runs and therefore, the optimiser needs to try to run again. It does that 20 times and after that it gives up with the error message that you see.

Without having looked into the details of your setup, I would recommend that if you need queries to be stably planned, to not on the same instance add and remove indexes and/or constraints.

I am sorry for this very high-level answer, I would hope that your support engineer can give you more guidance.

The support case has been closed on our side. I will therefore close this issue. Please reach out to support if you need more help regarding this issue.

from neo4j.

achantavy avatar achantavy commented on September 24, 2024

Thanks for the reply @arnefischereit.

In our project, we call CREATE INDEX IF NOT EXISTS ... before we write a given node type to the graph.

We only see this in our CI integration tests and never in production. These integration tests run on a neo4j docker container that is freshly spun up every time we push code to our Github repo. Since the integration tests write very small amounts of data, we could be calling CREATE INDEX.. much more frequently than in production where we would be writing signifcantly more data and therefore taking more time in between CREATE INDEX calls.

Could this be causing the behavior you're referring to where the query engine adds constraints frequently?

from neo4j.

blouerat avatar blouerat commented on September 24, 2024

Hi @achantavy,

That sounds right yes. I see 418 indexes in indexes.cypher, it may very well explain why the planner can't finalise its plan successfully.
Waiting a little bit longer for the indexes to be ready before executing your first query against the DB should do the trick in this case.

from neo4j.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.