I think you misunderstood the question(s). 

How do you define the meaning of the TTL attribute? 

Is the TTL a special form of the delete tombstone? 

The reason I ask this is that if we look at your example you’ve stated that if 
a compaction occurred prior to the end of life of cell 2, cell 1 would be 
destroyed. 
That doesn’t make sense as an expected result. 

This is why I am asking what is the defined contract of the TTL feature.

Cell 1 should never be deleted. (unless you explicitly state the number of 
versions to be 1 then it would be marked for deletion when you insert cell 2.) 

Thx

-Mike


> On Apr 13, 2015, at 6:12 PM, Cosmin Lehene <cleh...@adobe.com> wrote:
> 
> The ambiguity seems to lie at the intersection of TTL and version "garbage 
> collection" during compactions. 
> 
> Major compactions can lead to nondeterministic results when multiple versions 
> are involved (slightly captured in the book 
> http://hbase.apache.org/book.html#versions and 
> http://www.ngdata.com/bending-time-in-hbase/ )
> TTL expirations don't result in deletes (at least not in the classical sense 
> with a tombstone).
> 
> Cosmin 
> 
> _______________________________________
> From: Michael Segel <michael_se...@hotmail.com>
> Sent: Friday, April 10, 2015 8:35 AM
> To: dev@hbase.apache.org
> Subject: Re: Nondeterministic outcome based on cell TTL and major compaction 
> event order
> 
> Interesting.
> There seems to be some ambiguity in what happens between a TTL and a deletion.
> 
> Is the TTL a delete or is it a separate type of function?
> 
> That is to say when you inserted version 2 of the cell, did you intend to 
> just have version 2 exist for a little while and then default to version 1 or 
> did you mean that when you inserted version 2, you wanted to delete 
> everything prior to version 2 and then when version 2 expires, it then goes 
> away?
> 
> The documentation isn’t clear on this point.
> 
> To give you an example where you wouldn’t want to have the TTL on a cell also 
> delete prior versions…
> 
> Suppose you’re storing map data in HBase. You have an attribute (speed) 
> associated to a road link.
> 
> If the road is a 65 MPH highway, then the base speed (default speed) is 
> 65MPH. However if there’s construction planned for the road then you need to 
> reset the speed to 45 mph while there is construction.  You know that the 
> construction is supposed to last X months, so you reset the speed limit to 45 
> with a TTL on that cell version only.
> 
> Another example is if you’re storing price for a given sku in a given region 
> of your retail chain.  So you want to reduce the price by 20% for a 2 week 
> period.
> Again, you set that discount to live for 2 weeks with a TTL, then revert back 
> to original price.
> 
> So I guess there should be a clarification as to what is intended for the TTL 
> to do?
> 
> Does that make sense?
> 
> 
> 
> 
> 
>> On Apr 10, 2015, at 9:26 AM, Cosmin Lehene <cleh...@adobe.com> wrote:
>> 
>> I've been initially puzzled by this, although I realize how it's likely as 
>> designed.
>> 
>> 
>> The cell TTL expiration and compactions events can lead to either some (the 
>> older) data left or no data at all for a particular  (row, family, 
>> qualifier, ts) coordinate.
>> 
>> 
>> 
>> Write (r1, f1, q1, v1, 1)
>> 
>> Write (r1, f1, q1, v1, 2) - TTL=1 minute
>> 
>> 
>> Scenario 1:
>> 
>> 
>> If a major compaction happens within a minute
>> 
>> 
>> it will remove (r1, f1, q1, v1, 1)
>> 
>> then after a minute (r1, f1, q1, v1, 2) will expire
>> 
>> no data left
>> 
>> 
>> Scenario 2:
>> 
>> 
>> A minute passes
>> 
>> (r1, f1, q1, v1, 2) expires
>> 
>> Compaction runs..
>> 
>> (r1, f1, q1, v1, 1) remains
>> 
>> 
>> 
>> This seems, by and large expected behavior, but it still seems 
>> "uncomfortable" that the (overall) outcome is not decided by me, but by a 
>> chance of event ordering.
>> 
>> 
>> I wonder we'd want this to behave differently (perhaps it has been discussed 
>> already), but if not, it's worth a more detailed documentation in the book.
>> 
>> 
>> What do you think?
>> 
>> 
>> Cosmin
>> 
>> 
>> 
>> 
> 
> The opinions expressed here are mine, while they may reflect a cognitive 
> thought, that is purely accidental.
> Use at your own risk.
> Michael Segel
> michael_segel (AT) hotmail.com
> 
> 
> 
> 
> 
> 

The opinions expressed here are mine, while they may reflect a cognitive 
thought, that is purely accidental. 
Use at your own risk. 
Michael Segel
michael_segel (AT) hotmail.com





Reply via email to