[jira] [Reopened] (LUCENE-1149) add XA transaction support

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Reopened] (LUCENE-1149) add XA transaction support

JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/LUCENE-1149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael McCandless reopened LUCENE-1149:

Sorry, you're right this issue isn't really a dup (I've reopened it).

I was just saying that Lucene's IW APIs are already transactional so
one should be able to build a transactions layer on top.  Ie, you
should not have to make a new index for each transaction.

We would still need a layer that mates this up to the XA transactions
API (I think?).  Does anyone have a patch for this?

> add XA transaction support
> --------------------------
>                 Key: LUCENE-1149
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1149
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Index
>            Reporter: robert engels
> Need to add XA transaction support to Lucene.
> Without XA support, it is difficult to keep disparate resources (e.g. database) in sync with the Lucene index.
> A review of the XA support added to Hibernate might be a good start (although Hibernate almost always uses a XA capable backing store database).
> It would be ideal to have a combined IndexReaderWriter instance, then create a XAIndexReaderWriter which wraps it.
> The implementation might be as simple as a XA log file which lists the XA transaction id, and the segments XXX number(s), since Lucene already allows you to rollback to a previous version (??? for sure, or does it only allow you to abort the current commit).
> If operating under a XA transaction, the no explicit commits or rollbacks should be allowed on the instance.
> The index would be committed during XA prepare(), and then if needed rolledback when requested. The XA commit() would be a no-op.
> There is a lot more to this but this should get the ball rolling.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]