davidmoten / davidmoten/rxjava2-jdbc
Transaction is not committing
- Dominant language
- Java
- Stars
- 394
- Forks
- 41
- Avg merge
- 2m
- Merged PRs (30d)
- 1
Description
I have a function that executes 2 updates in a transaction. After running the code, I don't see any change in the db. I suspect the transaction is not committed. I'm sure there is no error with the queries since doOnError is not fired. Removing transaction would work. Any idea why transaction not working?
below is my code
```
public Mono update() {
Flowable updates = db.update("UPDATE ...")
.parameters(...)
.transacted()
.counts()
.doOnError(e-> {
LOGGER.debug(e);
})
.flatMap(tx -> {
return tx.update("UPDATE ...")
.parameters(...)
.counts()
.doOnError(e-> {
LOGGER.debug(e);
});
});
return Mono.from(updates);
}
```
below is the log
```
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.jdbc.SqlInfo][] - sqlAfterSubs=
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.jdbc.TransactedUpdateBuilder][] - creating deferred flowable
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - subscribed
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain called
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain loop starting
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - requested=1
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - poll of available members returns DecoratingMember [value=com.mysql.cj.jdbc.ConnectionImpl@65d2b0cb]
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - trying to emit member
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - schedule.now=1557250484152, lastCheck=1557250476191
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - queueing member for health check DecoratingMember [value=com.mysql.cj.jdbc.ConnectionImpl@65d2b0cb]
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - scheduling check of DecoratingMember [value=com.mysql.cj.jdbc.ConnectionImpl@65d2b0cb]
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - poll of available members returns null
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - scheduling member creation
Thread: pool-2-thread-4] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - performing health check on DecoratingMember [value=com.mysql.cj.jdbc.ConnectionImpl@65d2b0cb]
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - poll of available members returns null
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - insufficient demand to initialize DecoratingMember [value=null]
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain called
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain loop starting
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - requested=1
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - poll of available members returns null
Thread: pool-2-thread-3] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - insufficient demand to initialize DecoratingMember [value=null]
Thread: pool-2-thread-5] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - creating value
Thread: pool-2-thread-4] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain called
Thread: pool-2-thread-4] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain loop starting
Thread: pool-2-thread-4] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - requested=1
Thread: pool-2-thread-4] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - poll of available members returns DecoratingMember [value=com.mysql.cj.jdbc.ConnectionImpl@65d2b0cb]
Thread: pool-2-thread-4] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - trying to emit member
Thread: pool-2-thread-4] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - schedule.now=1557250484155, lastCheck=1557250484155
Thread: pool-2-thread-4] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - no health check required for DecoratingMember [value=com.mysql.cj.jdbc.ConnectionImpl@65d2b0cb]
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - creating new TransactedConnection
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.TransactedConnection][] - constructing TransactedConnection from org.davidmoten.rx.jdbc.pool.internal.PooledConnection@140a7cbd, 1
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Update][] -
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.SqlInfo][] - sqlAfterSubs=
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - preparing statement:
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - setting parameter ...
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Update][] - batch added with [...]
Thread: pool-2-thread-5] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - checking in DecoratingMember [value=com.mysql.cj.jdbc.ConnectionImpl@779e8a73]
Thread: pool-2-thread-5] DEBUG [org.davidmoten.rx.pool.DecoratingMember][] - scheduled release in 1800000ms of DecoratingMember [value=com.mysql.cj.jdbc.ConnectionImpl@779e8a73]
Thread: pool-2-thread-5] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain called
Thread: pool-2-thread-5] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain loop starting
Thread: pool-2-thread-5] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - requested=0
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Update][] - batch executed
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.TransactedConnection][] - forking connection
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.TransactedConnection][] - constructing TransactedConnection from org.davidmoten.rx.jdbc.pool.internal.PooledConnection@140a7cbd, 3
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.SqlInfo][] - sqlAfterSubs=
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.TransactedUpdateBuilder][] - creating deferred flowable
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Update][] -
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.SqlInfo][] - sqlAfterSubs=
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - preparing statement:
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - setting parameter ...
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Update][] - batch added with [...]
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Update][] - batch executed
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain called
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - drain loop starting
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.pool.MemberSingle][] - requested=0
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - closing org.davidmoten.rx.jdbc.TransactedPreparedStatement@53da613f
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - closing TransactedConnection [con=org.davidmoten.rx.jdbc.pool.internal.PooledConnection@140a7cbd, counter=4]
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.TransactedConnection][] - TransactedConnection attempt close
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - closing org.davidmoten.rx.jdbc.TransactedPreparedStatement@5340c1b2
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.Util][] - closing TransactedConnection [con=org.davidmoten.rx.jdbc.pool.internal.PooledConnection@140a7cbd, counter=4]
Thread: pool-2-thread-6] DEBUG [org.davidmoten.rx.jdbc.TransactedConnection][] - TransactedConnection attempt close
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.