← Back to team overview

maria-developers team mailing list archive

comments on parallel applying

 

hi there,

disclaimer: i haven't followed all turns and details on this task so sorry
if my comments are outdated (or generally uninteresting).

---

i've been glancing on the review comments on the parallel applying, and
have some comments to make.

i think it will be well invested time to add infrastructure to be able to
restrict when parallel applying will be performed.

typically i think it would be nice to
- only allow parallel transaction in same engine
- decrease parallelism when performing DDL
...(more of these can probably be added)

restrictions that will make it easier to reason about correctness and that
will not affect performance
for 99% of the cases (i think :-)

if adding such restrictions was an option, the resolving review comments on
weird corner cases would be much easier.

---

from what I can tell, there are currently no such restrictions,
and no infrastructure to add them either.

i realize that it might not be trivial to introduce such restrictions,
but personally i think it will be worth the effort to get a solid solution
in place.

<quick thoughts on implementation>
for row-based replication this seems quite "easy".

for statement-based replication i image that you would have to add hooks
into the "real" code
after parsing has been performed, but before the actual execution is
started (and yes, i know that there is sometimes a blurry line here)
</thoughts>

---

/Jonas

Follow ups