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

Reply via email to