Re: [Maria-developers] 9277b838aad: Forbid savepoints setup while ONLINE ALTER goes on
Hi, Nikita! On Nov 15, Nikita Malyavin wrote:
revision-id: 9277b838aad (mariadb-10.5.2-485-g9277b838aad) parent(s): 37b6f5cb8ef author: Nikita Malyavin committer: Nikita Malyavin timestamp: 2021-01-29 03:47:52 +1000 message:
Forbid savepoints setup while ONLINE ALTER goes on
Why is that? Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org
On Mon, 15 Nov 2021 at 16:07, Sergei Golubchik <serg@mariadb.org> wrote:
Hi, Nikita!
On Nov 15, Nikita Malyavin wrote:
revision-id: 9277b838aad (mariadb-10.5.2-485-g9277b838aad) parent(s): 37b6f5cb8ef author: Nikita Malyavin committer: Nikita Malyavin timestamp: 2021-01-29 03:47:52 +1000 message:
Forbid savepoints setup while ONLINE ALTER goes on
Why is that?
Well, in short, it's not implemented. If rollback to savepoint is happened, we should rollback in our transaction cache as well. Then we need to remember where the savepoint is, for every online altering table. It likely resolves with maintaining a hash Savepoint -> List [ <table, offset> ] But now rollback would sole an effect after ALTER TABLE is finished -- Yours truly, Nikita Malyavin
Hi, Nikita! May be you don't need to truncate the transaction cache, but can log SAVEPOINT and ROLLBACK TO SAVEPOINT as Query_log_event? That's easier. Normal binlogging does it if the "transaction" modifies some non-transactional tables. But you can just do it unconditionally. Let's keep it as a lower-priority task, though, for after the rest is done. On Nov 24, Nikita Malyavin wrote:
On Mon, 15 Nov 2021 at 16:07, Sergei Golubchik wrote:
Hi, Nikita!
On Nov 15, Nikita Malyavin wrote:
revision-id: 9277b838aad (mariadb-10.5.2-485-g9277b838aad) parent(s): 37b6f5cb8ef author: Nikita Malyavin committer: Nikita Malyavin timestamp: 2021-01-29 03:47:52 +1000 message:
Forbid savepoints setup while ONLINE ALTER goes on
Why is that?
Well, in short, it's not implemented. If rollback to savepoint is happened, we should rollback in our transaction cache as well.
Then we need to remember where the savepoint is, for every online altering table. It likely resolves with maintaining a hash Savepoint -> List [ <table, offset> ]
But now rollback would sole an effect after ALTER TABLE is finished
Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org
participants (2)
-
Nikita Malyavin
-
Sergei Golubchik