[Openstack] [Swift] Differing behaviour/design re quarantining for objects vs containers
Mark Kirkwood
mark.kirkwood at catalyst.net.nz
Thu Jun 15 01:06:53 UTC 2017
This was highlighted to me recently, and after doing some experiments it
seems that the 'job descriptions' for replicators vs auditors is
different for objects vs containers (and probably accounts).
For objects:
- replicator will move objects to where they should go
- auditor will check validity + quarantine as required
For containers (and possibly accounts - haven't checked but code looks
similar)
- replicator will move objects to where they should go and check
validity + quarantine as required
- auditor will check validity and quarantine as required
This looks a bit like the container replicator is treading on the
auditors toes - is this intended and/or am I missing something?
In terms of *why* this happens, it seems to be due to:
- ContainerBroker.get_info using a self.get which resolves to
DatabaseBroker.get
- DatabaseBroker.get calls self.possibly_quarantine
So anywhere that these brokers call 'get_info' results in a potential
quarantine...this *looks* like it might be accidental function creepage
- thoughts?
(This code analysis done on Mitaka/2.7.0)
regards
Mark
More information about the Openstack
mailing list