← Back to team overview

maria-developers team mailing list archive

Re: [Commits] Rev 4391: MDEV-6676: Speculative parallel replication. in http://bazaar.launchpad.net/~maria-captains/maria/10.0

 

Jonas Oreland <jonaso@xxxxxxxxxx> writes:

> how about also adding a mode = 'auto'
> which currently can be == transaction,
> but in future could be extended to based on statistics
> flip actual modes back and forth ?

Hm.

I like the idea that user could set parallel_mode=auto, and then the code
would do a best-effort to replicate in parallel in the best way possible. And
only if that turns out to not be sufficient, can the user read up on the more
detailed options and try to configure them better manually.

So as you say, "auto" could work like "transactional" in the first version,
since it should be safe in the sense that it is always correct.

And then we could refine it with some statistics. For example, we can monitor
retries/transaction, and if it becomes > 0.05 or whatever, we go to
"groupcommit" mode for a while. Or if we see a lot (say >10%) of DDL or
MyISAM.

I guess "auto" should be mutually exclusive with "groupcommit",
"transactional", and "waiting". While "domain" is kind of orthogonal, and not
safe to enable automatically.

Thanks for the suggestion, I will keep it in mind and hopefully implement
it. Probably even the two heuristics mentioned above could be implemented
easily.

 - Kristian.


References