The implicit key is "_id_" but that's an implementation detail and shouldn't be used to assert correctness of the index in unit tests.
2011/10/8 Thibaut Colar <tco...@colar.net> > Actually you are right, seems like "id" is the only one that fails ... i > really thought that was implicitly created, could it be possible than > somehow it should be but doesn't when using the transaction manager ? > > On 10/8/11 11:41 AM, Thibaut Colar wrote: > > Right, id is an implicit field ... works when not in transaction. > > If i remove that test, then I fail on the later index.get. > > > > As far as deleting the db, it's not in my test, but i removed the folder > > in y real code and manually before running the test. > > > > On 10/8/11 11:10 AM, Rick Bullotta wrote: > >> If I remember correctly, neo has an implicit field on each index, and > the name is either "id" or "_id". > >> > >> On Oct 8, 2011, at 1:58 PM, "Chris Gioran"< > chris.gio...@neotechnology.com> wrote: > >> > >>> Hi Thibaut, > >>> > >>> I noticed the following snippet in your test case code: > >>> > >>> long id = node.getId(); > >>> node.setProperty("testProp", "test"); > >>> index.add(node, "testProp", "test"); > >>> > >>> Assert.assertEquals(node.getProperty("testProp"), "test"); > >>> > >>> // Lookup By id > >>> Assert.assertNotNull(graphDb.getNodeById(id)); > >>> > >>> // Now via Index > >>> Node found = index.get("id", id).getSingle(); > >>> Assert.assertNotNull(found); > >>> Assert.assertEquals(found.getId(), id); > >>> > >>> which leads to the first test failure with a null result returned. > >>> Here you are indexing a node with key "testProp" and value "test" but > >>> you go on to ask it from the index with key "id" and value its id. > >>> Since you haven't added that key/value pair in the index, rightfully > >>> you don't get any results - the test fails in my setup even with the > >>> native Neo4j transaction manager. > >>> > >>> I changed that to ask the node from the index with the proper > >>> key/value pair and the test passes - the same thing happens a bit > >>> further down where you ask the index for a node with a key/value of > >>> "testProp"/"prop" (instead of "testProp"/"test"). Moreover, it passes > >>> with both the native Transaction Manager and the Atomikos > >>> implementation. > >>> > >>> Also, you are not deleting the db for the test - this means that since > >>> you add to the index nodes with the same key/value the test will pass > >>> only on the first run as getSingle() on the index hits will find the > >>> previously added nodes and it will fail. > >>> > >>> Could you try that out and see if it solves your issues? > >>> > >>> I am glad that this functionality is being used in production - please > >>> provide any feedback on any problems and what you think of this > >>> feature. > >>> > >>> hope that helps, > >>> CG > >>> > >>> On Thu, Oct 6, 2011 at 7:50 PM, tcolar<tco...@colar.net> wrote: > >>>> I've been trying to make this work for a few days but while it mostly > works, > >>>> the Lucene index just won't. > >>>> > >>>> We have a fairly complex setup including neo4j, mysql, mongo and JMS > ad > >>>> trying to do transactions accross all that with Atomikos. > >>>> > >>>> Since that is quite complex, I've made a smaller unit test just using > >>>> Atomikos and Neo4j to demonstrate the issue: > >>>> > >>>> https://bitbucket.org/tcolar/stuff/src/ddd17191e9a4/AtomikosNeo4j > >>>> > >>>> The main test is here: > >>>> > https://bitbucket.org/tcolar/stuff/src/ddd17191e9a4/AtomikosNeo4j/src/test/java/net/colar/atomikosNeo4j/AtomikosNeo4jTest.java > >>>> > >>>> and results: > >>>> > https://bitbucket.org/tcolar/stuff/src/ddd17191e9a4/AtomikosNeo4j/test.log > >>>> > >>>> I used > >>>> > http://digitalstain.blogspot.com/2010/11/using-jotm-as-transactionmanager-in.html > >>>> to get me going. > >>>> > >>>> And my code for that part is here: > >>>> > https://bitbucket.org/tcolar/stuff/src/ddd17191e9a4/AtomikosNeo4j/src/main/java/net/colar/atomikosNeo4j > >>>> > >>>> I'm thinking that's probably where I'm doing something wrong maybe ? > >>>> > >>>> I'm probably not doing something right but i can't seem to find what's > going > >>>> on with Lucene. > >>>> > >>>> The test works if not using Atomikos but just plain Neo4j > Transactions. > >>>> > >>>> Anybody as an idea what is wrong? > >>>> > >>>> Thanks. > >>>> > >>>> -- > >>>> View this message in context: > http://neo4j-community-discussions.438527.n3.nabble.com/Trying-to-use-Neo4J-with-Atomikos-transaction-manager-issues-with-Lucene-index-tp3400319p3400319.html > >>>> Sent from the Neo4j Community Discussions mailing list archive at > Nabble.com. > >>>> _______________________________________________ > >>>> Neo4j mailing list > >>>> User@lists.neo4j.org > >>>> https://lists.neo4j.org/mailman/listinfo/user > >>>> > >>> _______________________________________________ > >>> Neo4j mailing list > >>> User@lists.neo4j.org > >>> https://lists.neo4j.org/mailman/listinfo/user > >> _______________________________________________ > >> Neo4j mailing list > >> User@lists.neo4j.org > >> https://lists.neo4j.org/mailman/listinfo/user > > _______________________________________________ > > Neo4j mailing list > > User@lists.neo4j.org > > https://lists.neo4j.org/mailman/listinfo/user > > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user