You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by pragmaticbigdata <am...@gmail.com> on 2017/01/17 13:50:30 UTC

Merging with RDBMS transaction

I would like to confirm my understanding of CacheStoreSession. 

1. Assuming my persistence store is Oracle, using CacheStoreSession & the
out of the box  CacheJdbcStoreSessionListener
<https://github.com/apache/ignite/blob/f2f82f09b35368f25e136c9fce5e7f2198a91171/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcStoreSessionListener.java> 
, Ignite is basically committing the data grid cache transaction after the
Oracle database transaction succeeds. If the sessionEnd() method throws
CacheWriterException the data grid transaction will be rolled back. To merge
the data grid transaction with any RDBMS transaction I do not need any
external JTA transaction manager. Is my understanding right?

2. As the java docs for CacheJdbcStoreSessionListener state that the
listener uses a new connection for every session. Here session is basically
any operation that leads to calling the CacheStore include cache.put(),
cache.putAll(), delete, bulk load etc. Is that right?

Thanks.





--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Merging-with-RDBMS-transaction-tp10093.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Merging with RDBMS transaction

Posted by vkulichenko <va...@gmail.com>.
Hi,

1. This is correct.

2. In transactional cache a new session is created per transaction.
Connection for a session is acquired from provided data source.

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Merging-with-RDBMS-transaction-tp10093p10102.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.