cartridge-java
cartridge-java copied to clipboard
Support interactive transactions for 2.6+
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.
I guess you need interactive transactions in iproto to actually support them in a connector.
Also, we can look at https://github.com/tarantool/go-tarantool/pull/185 as a possible reference implementation of streams support.