cartridge-java icon indicating copy to clipboard operation
cartridge-java copied to clipboard

Support interactive transactions for 2.6+

Open akudiyar opened this issue 4 years ago • 2 comments

Problem statement

In Tarntool 2.6+, interactive transactions became available (see https://www.tarantool.io/en/doc/latest/book/box/atomic/#transactional-manager). This opens the door to implementing transaction support in the driver. In-driver transactions will enable transactional support in the Spring Data module.

Requirements

  • MVCC support feature depends on Feature Toggling (#40)
  • References about the implementation of @Transactional in Spring:
    • http://akorsa.ru/2016/08/kak-na-samom-dele-rabotaet-transactional-spring/
    • https://docs.spring.io/spring-framework/docs/4.2.x/spring-framework-reference/html/transaction.html The implementation must be compatible with @Transactional.
  • (optional) JDBC transactions and XA transactions support

Transaction implementation in other noSQL DB drivers must be analyzed.

akudiyar avatar Nov 30 '20 16:11 akudiyar

I guess you need interactive transactions in iproto to actually support them in a connector.

Totktonada avatar Dec 01 '20 06:12 Totktonada

Also, we can look at https://github.com/tarantool/go-tarantool/pull/185 as a possible reference implementation of streams support.

bitgorbovsky avatar Aug 01 '22 11:08 bitgorbovsky