On Wed, Apr 02, 2014 at 09:29:09AM +0100, danken@redhat.com wrote:
We had a very (too) heated debate about ignoring failures of setDomainRegularRole() in http://gerrit.ovirt.org/24495/ and http://gerrit.ovirt.org/25424.
The pain point is that relying on domain role (master/regular) is faulty by design. We cannot avoid the cases where a pool has more than one domain with a master role written in its metadata.
One side argued that oVirt should be fixed to handle this unescapable truth, or at least enumerate the places where Vdsm and Engine, both current and old, depend on master role uniqueness.
The other side argued that this is not a priority task, and that we should try to "garbage-collect" known-bad master roles as a courtesy to people digging into domain metadata, and as a means to lessen the problem until we kill the pool concept in the upcoming version.
I hope that I present the debate fairly enough.
In order to move these two patches forward, how about:
- Limit the usage of the catching-all "except Exception" and replace it with swalling only the expected IO error
- Add a comment about setDomainRegularRole() being called only as a courtesy garbage-collection attempt.
- Conduct a survey on whether migrateMaster is used by anyone. No supported Engine has it, but I there was a suggestion that it was still expected via the command line.
What do you think?