Comment 4 for bug 1293945

Revision history for this message
Takashi Kajinami (kajinamit) wrote :

> However an account server returns 404 only when db file has been deleted and
> not been allowed to override.
In container PUT or DELETE, overriding account is not allowed,
so an account-server returns 404 when db file has been delete or gone.

> In addition, container server returns HTTPNotFound only when all updates for
> account fail with 404.
> i.e. Because the account has gone, swift should not return a success code.
I think it's not true.
In container PUT, container-servers share update processing for account between them,
and each server returns 404 if all assigned reporting fails with 404.

For example, when we set replica count 3, each container-server reports update for
only one account server.
So, when 2 of 3 account replicas are missed or placed in handoffs (swift doesn't check
handoffs in update processing), proxy-server receives two 404s from container-servers
and return 404 for container PUT.
In this situation, the account still exists in swift, but we cannot succeed
in putting container.