[Gluster-devel] autodelete in snapshots

Rajesh Joseph rjoseph at redhat.com
Tue Jun 3 09:51:55 UTC 2014



----- Original Message -----
From: "M S Vishwanath Bhat" <msvbhat at gmail.com>
To: "Vijay Bellur" <vbellur at redhat.com>
Cc: "Seema Naik" <senaik at redhat.com>, "Gluster Devel" <gluster-devel at gluster.org>
Sent: Tuesday, June 3, 2014 1:02:08 AM
Subject: Re: [Gluster-devel] autodelete in snapshots




On 2 June 2014 20:22, Vijay Bellur < vbellur at redhat.com > wrote: 



On 04/23/2014 05:50 AM, Vijay Bellur wrote: 


On 04/20/2014 11:42 PM, Lalatendu Mohanty wrote: 


On 04/16/2014 11:39 AM, Avra Sengupta wrote: 


The whole purpose of introducing the soft-limit is, that at any point 
of time the number of 
snaps should not exceed the hard limit. If we trigger auto-delete on 
hitting hard-limit, then 
the purpose itself is lost, because at that point we would be taking a 
snap, making the limit 
hard-limit + 1, and then triggering auto-delete, which violates the 
sanctity of the hard-limit. 
Also what happens when we are at hard-limit + 1, and another snap is 
issued, while auto-delete 
is yet to process the first delete. At that point we end up at 
hard-limit + 1. Also what happens 
if for a particular snap the auto-delete fails. 

We should see the hard-limit, as something set by the admin keeping in 
mind the resource consumption 
and at no-point should we cross this limit, come what may. If we hit 
this limit, the create command 
should fail asking the user to delete snaps using the "snapshot 
delete" command. 

The two options Raghavendra mentioned are applicable for the 
soft-limit only, in which cases on 
hitting the soft-limit 

1. Trigger auto-delete 

or 

2. Log a warning-message, for the user saying the number of snaps is 
exceeding the snap-limit and 
display the number of available snaps 

Now which of these should happen also depends on the user, because the 
auto-delete option 
is configurable. 

So if the auto-delete option is set as true, auto-delete should be 
triggered and the above message 
should also be logged. 

But if the option is set as false, only the message should be logged. 

This is the behaviour as designed. Adding Rahul, and Seema in the 
mail, to reflect upon the 
behaviour as well. 

Regards, 
Avra 

This sounds correct. However we need to make sure that the usage or 
documentation around this should be good enough , so that users 
understand the each of the limits correctly. 


It might be better to avoid the usage of the term "soft-limit". 
soft-limit as used in quota and other places generally has an alerting 
connotation. Something like "auto-deletion-limit" might be better. 


I still see references to "soft-limit" and auto deletion seems to get triggered upon reaching soft-limit. 

Why is the ability to auto delete not configurable? It does seem pretty nasty to go about deleting snapshots without obtaining explicit consent from the user. 

I agree with Vijay here. It's not good to delete a snap (even though it is oldest) without the explicit consent from user. 

FYI It took me more than 2 weeks to figure out that my snaps were getting autodeleted after reaching "soft-limit". For all I know I had not done anything and my snap restore were failing. 

I propose to remove the terms "soft" and "hard" limit. I believe there should be a limit (just "limit") after which all snapshot creates should fail with proper error messages. And there can be a water-mark after which user should get warning messages. So below is my proposal. 

auto-delete + snap-limit: If the snap-limit is set to n , next snap create (n+1th) will succeed only if if auto-delete is set to on/true/1 and oldest snap will get deleted automatically. If autodelete is set to off/false/0 , (n+1)th snap create will fail with proper error message from gluster CLI command. But again by default autodelete should be off. 

snap-water-mark : This should come in picture only if autodelete is turned off. It should not have any meaning if auto-delete is turned ON. Basically it's usage is to give the user warning that limit almost being reached and it is time for admin to decide which snaps should be deleted (or which should be kept) 

*my two cents* 

-MS 


The reason for having a hard-limit is to stop snapshot creation once we reached this limit. This helps to have a control over the resource consumption. Therefore if we only have this limit (as snap-limit) then there is no question of auto-delete. Auto-delete can only be triggered once the count crosses the limit. Therefore we introduced the concept of soft-limit and a hard-limit. As the name suggests once the hard-limit is reached no more snaps will be created.

So the idea is to keep the number of snapshots always less than the hard-limit. To do so we introduced the concept of soft-limit, wherein we allow snapshots even when this limit is crossed and once the snapshot is taken we delete the oldest snap. If you consider this definition then the name soft-limit and hard-limit looks ok to me.

In phase II we are planning to have auto-delete feature configurable with different policies, e.g. delete oldest, delete with more space consumption, etc. I think it is good to have the auto-delete feature enable & disable with an user controllable option. We will raise a bug to address this.

Best Regards,
Rajesh


More information about the Gluster-devel mailing list