Description of change
This wires up the server side transactions through to Juju so you can bootstrap with the feature flags and test them out. There are still some known transactions that are using old semantics that will need fixes, but getting this under a feature flag makes it much easier to find out what those are.
Interestingly, I did (accidentally) test upgrading from client-side transactions to server-side transactions, and nothing seem impacted by it. The logic should all be good and not trigger any problems. (As long as transactions are completed, I would expect it to be the same as if we just pruned transactions.)
QA steps
$ export JUJU_DEV_FEATURE_FLAGS="mongodb-snap,mongodb-sstxn"
$ time juju bootstrap lxd lxd --debug --model-default "logging-config=<root>=INFO;juju.state.txn=TRACE;juju.txn=TRACE" --no-gui
</root>
You should see a line like:
2019-04-16 12:45:39 INFO juju.state open.go:179 using server-side transactions
Documentation changes
We'll eventually want to document the feature flag, but we probably want to wait until we're ready for people to actually be bringing up controllers with it set.
Bug reference
None.
该提问来源于开源项目:juju/juju