Hi All,
I'm posting here because I'm having a problem, and I feel like my question is too complex for StackOverflow. I've searched StackOverflow and the documentation for a help, but I'm really not sure exactly where to start with this, and if someone could provide some guidance, I'd really appreciate it. I'm having a very strange problem. I'm writing an application that's basically a RESTful CRUD tool, which allows users to enter various kinds of data. I'm using Neo4J Embedded 2.3.6, writing in Scala using the Play framework. One kind of data is giving me problems, which I call a Schema. A Schema is one node type, and it can have several Field nodes. Schemas and Fields are created through the same request. Both Schema and Field nodes have several types of relations, and some point to existing nodes. The problem is that when a user creates a new Schema, sometimes the data will disappear randomly. By that I mean that when I creates a Schema through the user interface, sometimes the newly-created Schema will show up in my application’s list of Schemas (in my UI and REST interface), but then it will disappear after I reload the list of Schemas a few times. Then, it will sometimes stay gone, or sometimes come back. Usually, the first few Schemas I create don't disappear. However, after I create the first few Schemas, whether a Schema disappears becomes random. Deletions can also be somewhat random. For example, once I created four schemas, then deleted one. Then, two of the Schemas I'd created disappeared, and the deleted one reappeared, and nothing else changed. The best I can tell, the problem is with Neo4j Embedded (though I'm happy to be told I'm wrong). My unit tests for all these functions pass, though they use an ImpermanentDatabase. I’m pretty sure the problem isn’t browser caching because I’ve turned off caching in Chrome, and if I stop the application, the state of the database at that moment will be frozen when I stop the application. There are two other weird things. First, the entire Schema creation process is wrapped in a transaction, so the process of creating a Schema should be atomic. In other words, either a Schema and its Fields should all be created together, or not created at all. I never see a failure message, or get a transaction failure exception. However, sometimes the Schema node will show up in the list of Schemas, but the Field nodes won't, although they will show up later. Second, as I create more Schemas, the creation process takes longer and longer. Eventually, it will get so slow that it will take the application down. It will then speed back up when I restart the application. I think there's some kind of leak, but I'm having a hard time pinning down where that's coming from. So, my question is, where should I start looking? My best guess is that this is something with Neo4j and how I’m using it. I think it’s a problem with Neo4j because the changes persist across multiple requests, and I don't have any in-application caching. Also, JVisualVM shows that most of the time in my application is spent in various MuninPage methods. For reference, here’s my code, in Scala. I can translate this into Java if that will help: http://pastebin.com/sZ3EwLB1 Apologies for the long post--I'm just not sure where to begin. Again, I'd appreciate any guidance. Thanks, Dave -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.