Re: [Neo4j] How can you have transactions with Lucene?

2011-07-18 Thread Mattias Persson
I'm assuming it wouldn't be very hard to add transactional integration with
MySql or any other database that supports transactions properly.

Neo4j is open source, the source is there for anyone to read.

https://github.com/neo4j/community/tree/master/lucene-index

would be a good starting point for anyone to read and hopefully learn
something from. In there is the integration code which makes Lucene
transactional with the Neo4j graph. Just like Neo4j it's currently tied to
the JTA (Java Transaction API) and is mostly generic, but some parts are
specific to Neo4j. Although it can of course be modified to fit other
environments.


Best,
Mattias

2011/7/18 eialbur 

> Very Kewl.  Thanks Mattias.  Can you send your code over to Lucene so they
> can add effective transactions.  I know a number of people use Lucene for
> full text search in conjunction with MySql, and the lack of transactions is
> a major issue.
>
> Thanks again
>
> --
> View this message in context:
> http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3177747.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
>



-- 
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


Re: [Neo4j] How can you have transactions with Lucene?

2011-07-17 Thread eialbur
Very Kewl.  Thanks Mattias.  Can you send your code over to Lucene so they
can add effective transactions.  I know a number of people use Lucene for
full text search in conjunction with MySql, and the lack of transactions is
a major issue.

Thanks again

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3177747.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


Re: [Neo4j] How can you have transactions with Lucene?

2011-07-17 Thread Mattias Persson
Exactly, that's what the neo4j integration layer adds to it.

2011/7/17 eialbur 

> Lucene itself says it doesn't properly support ACID or XA transaction
> support.
> (Bug 1149 - Major - New Feature - Reopened - Unresolved).
>
> --
> View this message in context:
> http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176981.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
>



-- 
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


Re: [Neo4j] How can you have transactions with Lucene?

2011-07-17 Thread eialbur
Lucene itself says it doesn't properly support ACID or XA transaction
support.
(Bug 1149 - Major - New Feature - Reopened - Unresolved).

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176981.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


Re: [Neo4j] How can you have transactions with Lucene?

2011-07-17 Thread Mattias Persson
It just waits to write stuff until the transaction committs. Application
crashes in between are guarded by the logical log, because all operations
are written in the prepare-phase to a logical log (before the commit
starts). Neo4j doesn't do any magical tweaking of lucene at all because it
isn't necessary... it's fully ACID and transactional with the graph as it
is.

2011/7/17 eialbur 

> Sorry, but how does this thin layer control how Lucene interacts with the
> disk (since Lucene isn't transactional).  Does it somehow buffer the disk
> I/O?  Does it coerce Lucene to write to a different file and then update
> the
> real file at the end of the transaction?
>
> I'm not trying to be difficult, but I am interested in Lucene for my
> project
> as well, and need it to behave properly regarding transactions.
>
> --
> View this message in context:
> http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176951.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
>



-- 
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


Re: [Neo4j] How can you have transactions with Lucene?

2011-07-17 Thread eialbur
Sorry, but how does this thin layer control how Lucene interacts with the
disk (since Lucene isn't transactional).  Does it somehow buffer the disk
I/O?  Does it coerce Lucene to write to a different file and then update the
real file at the end of the transaction?

I'm not trying to be difficult, but I am interested in Lucene for my project
as well, and need it to behave properly regarding transactions.

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176951.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


Re: [Neo4j] How can you have transactions with Lucene?

2011-07-17 Thread Mattias Persson
Neo4j wraps Lucene in a thin layer which makes it transactional. It's fully
ACID and can participate in the same transactions as neo4j operations. It's
modeled as its own data source in an XA environment (the neo4j graph is
another XA data source) with a logical log for commands so that it's safe
for crashes and will participate in the recovery process just like any other
XA data source, f.ex. the neo4j graph.

2011/7/17 eialbur 

> I like Neo4j and am interested in using it in a number of projects (once I
> figure out a good way to make Neo play nice in Glassfish) ... but I am
> confused about something.   I apologize if this is a stupid question.
>
> My understanding is that Lucene does *not* support transactions.
>  Supposedly
> that lack of transaction support was a prime motivator for the Compass
> project, and is a selling point for the Lucene competitor, Sphinx.
>
> So, how can Neo4j provide real transaction support if it relies on Lucene?
> I am confused.
>
> Thanks
>
> --
> View this message in context:
> http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176918.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
>



-- 
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


[Neo4j] How can you have transactions with Lucene?

2011-07-17 Thread eialbur
I like Neo4j and am interested in using it in a number of projects (once I
figure out a good way to make Neo play nice in Glassfish) ... but I am
confused about something.   I apologize if this is a stupid question.

My understanding is that Lucene does *not* support transactions.  Supposedly
that lack of transaction support was a prime motivator for the Compass
project, and is a selling point for the Lucene competitor, Sphinx.

So, how can Neo4j provide real transaction support if it relies on Lucene? 
I am confused.

Thanks

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176918.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