On Wed, Aug 6, 2014 at 1:48 AM, Kenneth Waegeman <Kenneth.Waegeman at ugent.be> wrote: > Hi, > > I did a test with 'rados -p ecdata bench 100000 write' on an ECpool with a > cache replicated pool over it (ceph 0.83). > The benchmark wrote about 12TB of data. After the 100000 seconds run, rados > started to delete his benchmark files. > But only about 2,5TB got deleted, then rados returned. I tried to do it with > the cleanup function 'rados -p ecdata cleanup --prefix bench' > and after a lot of time, it returns: > > Warning: using slow linear search > Removed 2322000 objects > > But rados df showed the same statistics as before. > I ran it again, and it again showed 'Removed 2322000 objects', without any > change in the rados df statistics. > It is probably the 'lazy deletion', because if I try to do a 'rados get' on > it, there is 'No such file or directory'. But I still see the objects when I > do 'rados -p ecdata ls'. > > Is this indeed because of the lazy deletion? Is there a way to see how much > not-deleted objects are in the pool? And is there then a reason why rados > did remove the first 2,5TB? Or is this just a rados bench issue?:) What you're seeing here is that the objects have been deleted from the cache pool, and marked as deleted, but that delete hasn't been flushed out to the EC pool yet. The underlying objects will get deleted as time passes. The first 2.5 TB were probably deleted for real because those objects had already been evicted from the cache pool, and so the delete was sent directly to the EC pool when the cache pool didn't find any record of the objects. -Greg Software Engineer #42 @ http://inktank.com | http://ceph.com