-
Notifications
You must be signed in to change notification settings - Fork 38.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TransactionalOperator.executeAndAwait returns value too early #25007
Comments
@mp911de Could you please clarify the intended behavior here? |
The log statement There's a bit more to this arrangement. The R2DBC Postgres driver behaves correctly in the sense that the commit command properly awaits a response from the database. Maybe @sdeleuze can chime in. |
I found that Maybe we need to implement |
Indeed @istarion, the source code of Reactive to Coroutines support confirms the behavior you described. One possible solution could indeed to add a
The alternative would be to leverage Worth to fix in 5.2.7 in any case. |
👍 for
I've filed: Kotlin/kotlinx.coroutines#1993 |
Awesome thanks @elizarov, I will send you a PR. |
Side note: we may want to replace |
Pull request submitted on Coroutines side. |
Waiting kotlinx.coroutines 1.4.0-RC to be able to fix that one. It should be released next week but not sure when, I pushed for the release to happen in time for our RC2 so let's see if that make it or not. |
Spring Boot 2.3.0.M4
Kotlin 1.3.72
postgres 9.5.21 / jdbc driver 42.2.9 / r2dbc 0.8.2
When I use several transactions sequently, I ran into visibility problems. Data inserted in previous transactions may be absent in the table.
You can see the logger message before commit actually happens, right after Netty FLUSH.
In cases with
transactional
andexecute
it works fine and awaits for database answer.Is it intentional behaviour, or bug?
The text was updated successfully, but these errors were encountered: