Skip to content
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

[bug] States should be checked in queue #183

Closed
mirromutth opened this issue Dec 22, 2023 · 0 comments · Fixed by #185
Closed

[bug] States should be checked in queue #183

mirromutth opened this issue Dec 22, 2023 · 0 comments · Fixed by #185
Assignees
Labels
bug Something isn't working
Milestone

Comments

@mirromutth
Copy link
Contributor

mirromutth commented Dec 22, 2023

Describe the bug

Currently, MySqlConnection checks transaction state between the Mono.defer is subscribed and Exchangeable is executed.

It may cause some undefined behavior. All states checking will have same problem, like MySqlConnection.isSessionAutoCommit.

I was thinking that transaction state is necessary, like ConnectionImpl#rollback() does, it even throws an exception if connection is not in a transaction.

Firstly, we should remove transaction state checking in MySqlConnection, see also #179 does.

Then we can consider adding proper status checks in Exchangeable and RequestQueue.

Expected behavior

States should be checked in RequestQueue executing Exchangeable instead.

@mirromutth mirromutth added the bug Something isn't working label Dec 22, 2023
@mirromutth mirromutth changed the title [bug] Transaction state should be checked in queue [bug] States should be checked in queue Dec 22, 2023
@jchrys jchrys modified the milestones: 1.0.6/0.9.7, 1.1.0/0.10.0 Dec 22, 2023
@jchrys jchrys modified the milestones: 1.1.0/0.10.0, 1.0.6/0.9.7 Dec 29, 2023
jchrys added a commit that referenced this issue Dec 29, 2023
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is subscribed and `Exchangeable` is executed. It may cause undefined behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183

States should be checked in queue
jchrys added a commit that referenced this issue Dec 29, 2023
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is subscribed and `Exchangeable` is executed. It may cause undefined behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183
jchrys added a commit that referenced this issue Dec 29, 2023
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is subscribed and `Exchangeable` is executed. It may cause undefined behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183
jchrys added a commit that referenced this issue Dec 29, 2023
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is subscribed and `Exchangeable` is executed. It may cause undefined behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183
jchrys added a commit that referenced this issue Jan 8, 2024
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is subscribed and `Exchangeable` is executed. It may cause undefined behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183
@jchrys jchrys self-assigned this Jan 8, 2024
jchrys added a commit that referenced this issue Jan 9, 2024
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is subscribed and `Exchangeable` is executed. It may cause undefined behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183
jchrys added a commit that referenced this issue Jan 10, 2024
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is subscribed and `Exchangeable` is executed. It may cause undefined behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183
jchrys added a commit that referenced this issue Jan 10, 2024
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is
subscribed and `Exchangeable` is executed. It may cause undefined
behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183
jchrys added a commit that referenced this issue Jan 10, 2024
Motivation:
Currently, `MySqlConnection` checks state between the `Mono.defer` is
subscribed and `Exchangeable` is executed. It may cause undefined
behavior.

Modification:
Checks transaction state when request queue executes task.

Result:
Resolves #183
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants