Changing Bitcask Expiry Policy

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Changing Bitcask Expiry Policy

Felipe Esteves
Hi,

If I have a Riak cluster with bitcask expiry turned on, let's say, 14 days, and then change it to bitcask.expiry=off before any expiration occurs, all my data will be preserved? Or all data prior to the parameter change could still expiries based on the previous deadline?

Riak is version 2.2.3

thanks, 

Felipe Esteves

Tecnologia

[hidden email]





_______________________________________________
riak-users mailing list
[hidden email]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Changing Bitcask Expiry Policy

Felipe Esteves
Hi,

any hint on this question?

Felipe Esteves

Tecnologia

[hidden email]

Tel.: (21) 3504-7162 ramal 57162

Skype: felipe2esteves


2017-06-21 16:35 GMT-03:00 Felipe Esteves <[hidden email]>:
Hi,

If I have a Riak cluster with bitcask expiry turned on, let's say, 14 days, and then change it to bitcask.expiry=off before any expiration occurs, all my data will be preserved? Or all data prior to the parameter change could still expiries based on the previous deadline?

Riak is version 2.2.3

thanks, 

Felipe Esteves

Tecnologia

[hidden email]






_______________________________________________
riak-users mailing list
[hidden email]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Changing Bitcask Expiry Policy

Martin Sumner
In reply to this post by Felipe Esteves
Felipe,

I've not played around with this myself.  However, after a brief look at the bitcask code, it looks like a timestamp is given to each object as it is written to bitcask - to represent the time it was written, not the time it will expire.  The expiry_time is part of the state of the bitcask process passed on startup, and is not looked at during the PUT flow.  

Bitcask checks to see if an object is expired when it is read (and also when merging files), by comparing the write_time timestamp with the current time (less the expiry time in seconds) - and the object is then deleted as part of the GET operation.  So if the expiry time is disabled, these reads will be forever valid once bitcask has that new state, as no knowledge of the old expiry time is retained in the store. I don't think the object itself has any sense of when it will expire, so I would expect that in your case your data will be preserved.

I would recommend testing this before relying on my quick read through.  

Regards

Martin

Hi,

any hint on this question?

Felipe Esteves

Tecnologia

felipe.esteves at b2wdigital.com <seu.email at b2wdigital.com>

Tel.: (21) 3504-7162 ramal 57162

Skype: felipe2esteves

2017-06-21 16:35 GMT-03:00 Felipe Esteves <felipe.esteves at b2wdigital.com>:

> Hi,
>
> If I have a Riak cluster with bitcask expiry turned on, let's say, 14
> days, and then change it to *bitcask.expiry=off* before any expiration
> occurs, all my data will be preserved? Or all data prior to the parameter
> change could still expiries based on the previous deadline?
>
> Riak is version 2.2.3
>
> thanks,
>
> Felipe Esteves
>
> Tecnologia
>
> felipe.esteves at b2wdigital.com <seu.email at b2wdigital.com>
>
>
>

_______________________________________________
riak-users mailing list
[hidden email]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Changing Bitcask Expiry Policy

Felipe Esteves
Thanks a lot for this brief explanation, Martin!

Felipe Esteves

Tecnologia

[hidden email]

Tel.: (21) 3504-7162 ramal 57162

Skype: felipe2esteves


2017-06-27 13:55 GMT-03:00 Martin Sumner <[hidden email]>:
Felipe,

I've not played around with this myself.  However, after a brief look at the bitcask code, it looks like a timestamp is given to each object as it is written to bitcask - to represent the time it was written, not the time it will expire.  The expiry_time is part of the state of the bitcask process passed on startup, and is not looked at during the PUT flow.  

Bitcask checks to see if an object is expired when it is read (and also when merging files), by comparing the write_time timestamp with the current time (less the expiry time in seconds) - and the object is then deleted as part of the GET operation.  So if the expiry time is disabled, these reads will be forever valid once bitcask has that new state, as no knowledge of the old expiry time is retained in the store. I don't think the object itself has any sense of when it will expire, so I would expect that in your case your data will be preserved.

I would recommend testing this before relying on my quick read through.  

Regards

Martin

Hi,

any hint on this question?

Felipe Esteves

Tecnologia

felipe.esteves at b2wdigital.com <seu.email at b2wdigital.com>

Tel.: (21) 3504-7162 ramal 57162

Skype: felipe2esteves

2017-06-21 16:35 GMT-03:00 Felipe Esteves <felipe.esteves at b2wdigital.com>:

> Hi,
>
> If I have a Riak cluster with bitcask expiry turned on, let's say, 14
> days, and then change it to *bitcask.expiry=off* before any expiration
> occurs, all my data will be preserved? Or all data prior to the parameter
> change could still expiries based on the previous deadline?
>
> Riak is version 2.2.3
>
> thanks,
>
> Felipe Esteves
>
> Tecnologia
>
> felipe.esteves at b2wdigital.com <seu.email at b2wdigital.com>
>
>
>

 


Esta mensagem pode conter informações confidenciais e somente o indivíduo ou entidade a quem foi destinada pode utilizá-la. A transmissão incorreta da mensagem não acarreta a perda de sua confidencialidade. Caso esta mensagem tenha sido recebida por engano, solicitamos que o fato seja comunicado ao remetente e que a mensagem seja eliminada de seu sistema imediatamente. É vedado a qualquer pessoa que não seja o destinatário usar, revelar, distribuir ou copiar qualquer parte desta mensagem. Ambiente de comunicação sujeito a monitoramento.

This message may include confidential information and only the intended addresses have the right to use it as is, or any part of it. A wrong transmission does not break its confidentiality. If you've received it because of a mistake or erroneous transmission, please notify the sender and delete it from your system immediately. This communication environment is controlled and monitored.

B2W Digital

 





_______________________________________________
riak-users mailing list
[hidden email]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
Loading...