[Openstack] [Swift] Delete handling with md5 collisions

Shrinand Javadekar shrinand at maginatics.com
Wed Aug 26 21:57:02 UTC 2015


Actually, I'm confused now. I used to think that Swift does HTTP
deletes by synchronously truncating the object file and renaming it
with a .ts extension. But the currently code simply creates a new file
with the request timestamp and .ts extension.

On Wed, Aug 26, 2015 at 1:37 PM, Shrinand Javadekar
<shrinand at maginatics.com> wrote:
> Hi,
>
> I have a question about how object deletes are handled with md5
> collisions. I looked at the code and here's my understanding of how
> things will work.
>
> If I have two objects that have the same md5 hash, they will go to the
> same hash directory. Say, they go to
> /srv/node/r1/object/1024/eef/deadbeef/t1.data and
> /srv/node/r1/object/1024/eef/deadbeef/t2.data.
>
> Now, if I delete object t1, Swift will created a new file called t3.ts
> and put it in the hash directory.
> /srv/node/r1/object/1024/eef/deadbeef/t3.ts.
>
> When the replicator runs, it will delete all files with timestamp less
> than t3. So will it delete both t1 and t2?
>
> Thanks in advance.
> -Shri




More information about the Openstack mailing list