-
Notifications
You must be signed in to change notification settings - Fork 387
wal_sync() does not wait for prepared transactions waiting for journal size threshold #11118
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
Comments
nshy
added a commit
to nshy/tarantool
that referenced
this issue
Mar 31, 2025
`wal_sync()` is expected to flush all prepared txns on disk. Currently it is not so because we do not flush txns waiting in WAL queue. AFAIU the issue exists for all the places where we use `wal_sync()` (except for `box_wait_limbo_acked()` where we already flush WAL queue). The test is only added for the vinyl index build as there are explicit tickets for that. Closes tarantool#11118 Closes tarantool#11119 NO_DOC=bugfix
sergepetrenko
pushed a commit
that referenced
this issue
Apr 3, 2025
`wal_sync()` is expected to flush all prepared txns on disk. Currently it is not so because we do not flush txns waiting in WAL queue. AFAIU the issue exists for all the places where we use `wal_sync()` (except for `box_wait_limbo_acked()` where we already flush WAL queue). The test is only added for the vinyl index build as there are explicit tickets for that. Closes #11118 Closes #11119 NO_DOC=bugfix
github-actions bot
pushed a commit
that referenced
this issue
Apr 3, 2025
`wal_sync()` is expected to flush all prepared txns on disk. Currently it is not so because we do not flush txns waiting in WAL queue. AFAIU the issue exists for all the places where we use `wal_sync()` (except for `box_wait_limbo_acked()` where we already flush WAL queue). The test is only added for the vinyl index build as there are explicit tickets for that. Closes #11118 Closes #11119 NO_DOC=bugfix (cherry picked from commit af5f033)
github-actions bot
pushed a commit
that referenced
this issue
Apr 3, 2025
`wal_sync()` is expected to flush all prepared txns on disk. Currently it is not so because we do not flush txns waiting in WAL queue. AFAIU the issue exists for all the places where we use `wal_sync()` (except for `box_wait_limbo_acked()` where we already flush WAL queue). The test is only added for the vinyl index build as there are explicit tickets for that. Closes #11118 Closes #11119 NO_DOC=bugfix (cherry picked from commit af5f033)
github-actions bot
pushed a commit
that referenced
this issue
Apr 3, 2025
`wal_sync()` is expected to flush all prepared txns on disk. Currently it is not so because we do not flush txns waiting in WAL queue. AFAIU the issue exists for all the places where we use `wal_sync()` (except for `box_wait_limbo_acked()` where we already flush WAL queue). The test is only added for the vinyl index build as there are explicit tickets for that. Closes #11118 Closes #11119 NO_DOC=bugfix (cherry picked from commit af5f033)
sergepetrenko
pushed a commit
that referenced
this issue
Apr 3, 2025
`wal_sync()` is expected to flush all prepared txns on disk. Currently it is not so because we do not flush txns waiting in WAL queue. AFAIU the issue exists for all the places where we use `wal_sync()` (except for `box_wait_limbo_acked()` where we already flush WAL queue). The test is only added for the vinyl index build as there are explicit tickets for that. Closes #11118 Closes #11119 NO_DOC=bugfix (cherry picked from commit af5f033)
sergepetrenko
pushed a commit
that referenced
this issue
Apr 3, 2025
`wal_sync()` is expected to flush all prepared txns on disk. Currently it is not so because we do not flush txns waiting in WAL queue. AFAIU the issue exists for all the places where we use `wal_sync()` (except for `box_wait_limbo_acked()` where we already flush WAL queue). The test is only added for the vinyl index build as there are explicit tickets for that. Closes #11118 Closes #11119 NO_DOC=bugfix (cherry picked from commit af5f033)
sergepetrenko
pushed a commit
that referenced
this issue
Apr 3, 2025
`wal_sync()` is expected to flush all p 61A8 repared txns on disk. Currently it is not so because we do not flush txns waiting in WAL queue. AFAIU the issue exists for all the places where we use `wal_sync()` (except for `box_wait_limbo_acked()` where we already flush WAL queue). The test is only added for the vinyl index build as there are explicit tickets for that. Closes #11118 Closes #11119 NO_DOC=bugfix (cherry picked from commit af5f033)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We expect that
wal_sync()
will flush all prepared transactions on disk, but this is not the case for transactions waiting for journal size threshold. In particular in vinyl we flush prepared transactions before starting index build. We do not have a rollback trigger for these transactions thus we make sure if they will be rolled back we don't need to undo their effect. So if there is a prepared transaction waiting for journal size threshold and it will be rolled back it effect will stay. So secondary index will be inconsistent.The text was updated successfully, but these errors were encountered: