← Back to team overview

maria-developers team mailing list archive

Re: Questions re MDEV-4736 and MDEV-4739 (was Re: Spider's installation sql file)


Hi, Kentoku!

On Oct 05, kentoku wrote:
> > Anyway, Spider should be fixed to not error out in 2pc commits, because
> > such a commit means inconsistent data, it's a bad error, it breaks ACID.
> > An engine is expected to check all preconditions during prepare, and if
> > prepare succeeds, it is basically a guarantee that the commit will
> > succeed, it is not allowed to fail anymore.
> Does it means "an engine shouldn't return error at 2pc commit phase"? I
> can't understand it clearly.
> Currently, Spider return an error at 2pc commit phase if crash a data node
> between xa prepare phase and xa commit phase. In this case, Spider commits
> all living data nodes then returns error at 2pc commit phase. Crushed data
> node is committed manually after recovery. Does it break ACID? Why?

Just one question, before I could answer.
What does it mean "data node is committed manually after recovery"?
What exactly should the user do?

> I think an engine should return error at xa commit phase if some data node
> fails xa commit. Because an application can't know this problem if it
> doesn't return an error.

Follow ups