spring-data icon indicating copy to clipboard operation
spring-data copied to clipboard

Feature: support of @Transactional

Open mvollmary opened this issue 7 years ago • 20 comments

mvollmary avatar Jun 15 '18 08:06 mvollmary

I'm looking forward to when it will come true

lbyoo avatar Jun 20 '18 05:06 lbyoo

I concur. When you have a business logic, only one Exception is enough to corrupt your data.

kowlown avatar Feb 25 '19 16:02 kowlown

I strongly urge that this feature be added.

jiangzhizar avatar Jul 01 '19 00:07 jiangzhizar

Please implement it. I can't use this database without this. Doing transaction by template is really messy.

gfitrz avatar Jan 08 '20 14:01 gfitrz

Any news here? I found that ArangoDB 3.5+ and java driver 6.0.0+ supports stream transaction. Is this feature not enough to support transaction of Spring data? (e.g. @Transactional) Stream transactions

I want to try make this feature if it possible. I would appreciate any ideas or advices. Thank you.

wildroco avatar Feb 23 '20 10:02 wildroco

@wildroco thanks for pinging! I will look into it and update this thread about any progress. Also consider that support for new Spring Reactive Transactions (https://spring.io/blog/2019/05/16/reactive-transactions-with-spring) will be only possible once the upcoming ArangoDB reactive driver will be completed. You can follow the developments here: https://github.com/arangodb/arangodb-java-driver/tree/next

rashtao avatar Feb 25 '20 14:02 rashtao

@rashtao, thank you. Can you give some expected schedules? I have near production service with ArangoDB. I want to add transactions to the service before launching. The service has already some @Transactional functions with Other DB(MariaDB, Kafka, ..). It will be so happy if ArangoDB can play with then seamlessly :)

wildroco avatar Feb 27 '20 02:02 wildroco

@wildroco , the work has not been planned yet, so it is hard to make any estimation. For urgent production needs I would recommend you directly using streaming transactions from the driver API (accessible via arangoTemplate.driver().

rashtao avatar Mar 06 '20 19:03 rashtao

No update on this still?

bobaikato avatar Dec 12 '21 12:12 bobaikato

@rashtao Do we have any update on it ?

Bearded-Programmer avatar Feb 24 '22 05:02 Bearded-Programmer

We have it in our plans for 2022.

rashtao avatar Feb 28 '22 11:02 rashtao

Great, looking forward to it. Do you already know how this will work? Will you collect all inserts/updates and execute them when the transaction ends? We need this feature as well and will have to build a workaround until this is released. It would be nice if the workaround is close to how you will develop this so we have little work to do when integrating your change.

jakobjoachim avatar Mar 07 '22 14:03 jakobjoachim

It will be based on Stream Transactions https://www.arangodb.com/docs/stable/http/transaction-stream-transaction.html , so requests could be sent immediately and not needed to be collected for later execution.

rashtao avatar Mar 07 '22 14:03 rashtao

We really need this feature and would like to help out. If we can do anything to speed up development please reach out to me.

jakobjoachim avatar Mar 18 '22 08:03 jakobjoachim

@rashtao as we have an urgent need, I created a PR for this feature. Let me know if you have any comments or concerns.

aburmeis avatar Aug 30 '22 17:08 aburmeis

l

Any news regarding this feature request?

lukaszkowalik avatar Sep 05 '23 10:09 lukaszkowalik

I guess alternative to consider for transaction assurance is this: https://university.arangodb.com/courses/java-driver-tutorial-v7/lessons/import-graph-data-with-stream-transactions/

not proven yet in my case.

lukaszkowalik avatar Sep 05 '23 12:09 lukaszkowalik

@lukaszkowalik

Currently, to work around this you can use the underlying Java driver directly (ArangoOperations#driver()), which offers support to stream transactions (see https://www.javadoc.io/doc/com.arangodb/arangodb-java-driver/6.25.0/index.html).

To use Spring Data mappings, you can invoke the conversions to/from VPackSlice manually, see: https://www.arangodb.com/docs/stable/drivers/spring-data-reference-mapping.html#invoking-conversion-manually

rashtao avatar Sep 12 '23 09:09 rashtao

@rashtao this pr is a year already. why no approve it https://github.com/arangodb/spring-data/pull/249

bobaikato avatar Sep 14 '23 16:09 bobaikato

@bobaikato

Due to internal prioritization, this has not been included in the scope of https://github.com/arangodb/spring-data/releases/tag/v4.0.0

Also there are still work to do in order to address https://github.com/arangodb/spring-data/pull/249#pullrequestreview-1253121370

rashtao avatar Sep 19 '23 08:09 rashtao