Comment 6 for bug 2069365

Revision history for this message
Joseph Phillips (manadart) wrote (last edit ):

Mongo transactions are collections of "operations". These operations can be CRUD or they can be assertions.

The assertions are work-arounds for the lack of proper ACID. They lock-down behaviour at the time of running, such as if I am doing something that assumes there are no units on this machine, add a transaction assertion for it.

The error happens when state is inconsistent, and we exhaust our retry budget without being able to satisfy all assertions in the transaction.

We do have logging that outputs failed assertions at TRACE level. I propose that we bump this to WARNING, so that they will be emitted under the default *Juju* logging level.

These warnings will be transient in some cases, because a retried transaction may subsequently succeed, but at least we would have some indication as to what caused a given wholesale failure.

I'll discuss with the team.