← Back to team overview

maria-developers team mailing list archive

Re: 9277b838aad: Forbid savepoints setup while ONLINE ALTER goes on

 

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@xxxxxxxxxxx


References