replication - Are objects in Openstack Swift immediately available? -
openstack swift allows replicates , distributes objects in multiple locations on cluster.
is guaranteed after successful put
operation, can get
object or have wait object propagate on cluster?
when swift returns success put operation, guaranteed has written quorum (i.e. (numreplicas / 2) + 1). example, 3x replica policy, 2 replicas written before write request confirmed. since 1 replica needs available object read, the object available. remaining replicas written during normal object replicator service cycle , placed according ring configuration.
as whether exists in container listing, can bit more complicated. in liberty release, there configuration setting called container_update_timeout
default value of 1. says if object server gets confirmations container service in less 1 second, updates happen synchronously , guaranteed when success returned client. however, if container service takes longer that, or if value set low (e.g. 0), container updates bundled , submitted container service asynchronously.
this done improve performance in multi-region deployments container metadata being updated may not exist in same data center, or same country, object service requesting update.
Comments
Post a Comment