I have been poking around with online backup for a couple of days now 
and are happy with the results in general, especially the runtime backup 
capability. Most of the issues I came across I was able to work around 
but there is one obstacles left that I need some help on. As long as I 
use Neo's transactions programmatically taking backups work just fine at 
any given point in time during regular Neo usage. But once I switch to 
declarative transactions through the suggested Spring configuration 
taken from the IMdb example I am running into all sorts of exceptions 
after the first backup is taken. Below is the Spring configuration and 
some exceptions I got. If helpful I could extend the online-backup test 
suite with declarative transactions. Could there be some log file access 
conflicts going on? It's probably worth mentioning that I am using 
declarative transactions throughout the rest of our app and it's been 
working just great after many stress tests and without using online backup.

Any thoughts on this one?
-Andreas

--- Spring configuration ---
    <bean id="neoTransactionManagerService" 
class="org.neo4j.impl.transaction.SpringTransactionManager"/>
    <bean id="neoUserTransactionService" 
class="org.neo4j.impl.transaction.UserTransactionImpl"/>

    <bean id="neoTransactionManager" 
class="org.springframework.transaction.jta.JtaTransactionManager">
        <property name="transactionManager" 
ref="neoTransactionManagerService"/>
        <property name="userTransaction" ref="neoUserTransactionService"/>
    </bean>
---

--- Exceptions ---
java.nio.channels.ClosedChannelException
    at sun.nio.ch.FileChannelImpl.ensureOpen(FileChannelImpl.java:91)
    at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:192)
    at org.neo4j.impl.transaction.TxLog.txStart(TxLog.java:143)
    at org.neo4j.impl.transaction.TxManager.begin(TxManager.java:502)
    at 
org.neo4j.impl.transaction.UserTransactionImpl.begin(UserTransactionImpl.java:47)
    at 
org.springframework.transaction.jta.JtaTransactionManager.doJtaBegin(JtaTransactionManager.java:886)
    at 
org.springframework.transaction.jta.JtaTransactionManager.doBegin(JtaTransactionManager.java:843)
    at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374)

...

org.springframework.transaction.CannotCreateTransactionException: JTA 
failure on begin; nested exception is javax.transaction.SystemException: 
TM encountered a problem,  error writing transaction 
log,java.nio.channels.ClosedChannelException
    at 
org.springframework.transaction.jta.JtaTransactionManager.doBegin(JtaTransactionManager.java:856)
    at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374)

_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to