[Openstack] [Swift] Differing behaviour/design re quarantining for objects vs containers

Clay Gerrard clay.gerrard at gmail.com
Thu Jun 15 01:55:53 UTC 2017


Pretty sure that's true and mostly optimistic on the part of the db
replicator which is more in the data path for replication - than say rsync
object replication.

If you look at ssync or ec reconstructor you'll see it's quite possible for
them to trip built in DiskFile quarantine behavior during replication as
well!

I wouldn't say it's "by design" but we've never been shy to quarantine
anytime we encounter invalid data - the storage wsgi servers can quarantine
for example - if you happen to hit the right object at the right time.

Why?  ;)

-Clay

On Wed, Jun 14, 2017 at 6:16 PM Mark Kirkwood <mark.kirkwood at catalyst.net.nz>
wrote:

> 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
>
>
>
> _______________________________________________
> Mailing list:
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> Post to     : openstack at lists.openstack.org
> Unsubscribe :
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20170615/e7d73bea/attachment.html>


More information about the Openstack mailing list