You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Saad Mufti <sa...@gmail.com> on 2016/05/06 13:43:47 UTC

Cell Level TTL And hfile.format.version

HI,

We're running a  CDH 5.5.2 HBase cluster (HBase Version 1.0.0-cdh5.5.2,
revision=Unknown). We are using the per-cell TTL feature (Mutation.setTTL)


As I learn more about and read up on HBase, I realized that in our HBase
config hfile.format.version was set to 2 (the default, we haven't touched
this config yet), and from what I read that version of the HFile format
does NOT support cell tags which are needed for cell TTL which use tags.

Of course I am in the process of writing a test to check whether our
production db is indeed getting filled with cells that should in actuality
be expired given their TTL value.

We haven't seen any errors at runtime, does this mean our efforts to set a
TTL are being silently ignored? Isn't this bad behavior? Even if the
hfile.format.version is set to the wrong version, wouldn't it be better to
throw an error instead of just silently dropping any tags that are set?

Thanks.

-----
Saad

Re: Cell Level TTL And hfile.format.version

Posted by Anoop John <an...@gmail.com>.
Ya as said, there is a warn message while doing the flush.  To check
with every mutation whether it having some tags and hfile version is
<3 would be bit costlier.  Suggest you change the version and things
will work as expected for you.

-Anoop-

On Fri, May 6, 2016 at 10:09 PM, Huaxiang Sun <hs...@cloudera.com> wrote:
> Hi Saad,
>
>    Please see HBASE-14730 <https://issues.apache.org/jira/browse/HBASE-14730>. With hfile.format.version 2, it will work partially. As long as the cells are in the memstore, the TTL tag will be honored.
>   Once they are flushed into hfiles, ttl tag is lost which means cells will be there forever.
>
>    Your db will have cells which are supposed to be cleaned up with ttl. Suggest to change the hfile format to version 3.
>
>    Thanks,
>    Huaxiang
>
>
>> On May 6, 2016, at 6:43 AM, Saad Mufti <sa...@gmail.com> wrote:
>>
>> HI,
>>
>> We're running a  CDH 5.5.2 HBase cluster (HBase Version 1.0.0-cdh5.5.2,
>> revision=Unknown). We are using the per-cell TTL feature (Mutation.setTTL)
>>
>>
>> As I learn more about and read up on HBase, I realized that in our HBase
>> config hfile.format.version was set to 2 (the default, we haven't touched
>> this config yet), and from what I read that version of the HFile format
>> does NOT support cell tags which are needed for cell TTL which use tags.
>>
>> Of course I am in the process of writing a test to check whether our
>> production db is indeed getting filled with cells that should in actuality
>> be expired given their TTL value.
>>
>> We haven't seen any errors at runtime, does this mean our efforts to set a
>> TTL are being silently ignored? Isn't this bad behavior? Even if the
>> hfile.format.version is set to the wrong version, wouldn't it be better to
>> throw an error instead of just silently dropping any tags that are set?
>>
>> Thanks.
>>
>> -----
>> Saad
>

Re: Cell Level TTL And hfile.format.version

Posted by Huaxiang Sun <hs...@cloudera.com>.
Hi Saad,

   Please see HBASE-14730 <https://issues.apache.org/jira/browse/HBASE-14730>. With hfile.format.version 2, it will work partially. As long as the cells are in the memstore, the TTL tag will be honored.
  Once they are flushed into hfiles, ttl tag is lost which means cells will be there forever.
 
   Your db will have cells which are supposed to be cleaned up with ttl. Suggest to change the hfile format to version 3.

   Thanks,
   Huaxiang


> On May 6, 2016, at 6:43 AM, Saad Mufti <sa...@gmail.com> wrote:
> 
> HI,
> 
> We're running a  CDH 5.5.2 HBase cluster (HBase Version 1.0.0-cdh5.5.2,
> revision=Unknown). We are using the per-cell TTL feature (Mutation.setTTL)
> 
> 
> As I learn more about and read up on HBase, I realized that in our HBase
> config hfile.format.version was set to 2 (the default, we haven't touched
> this config yet), and from what I read that version of the HFile format
> does NOT support cell tags which are needed for cell TTL which use tags.
> 
> Of course I am in the process of writing a test to check whether our
> production db is indeed getting filled with cells that should in actuality
> be expired given their TTL value.
> 
> We haven't seen any errors at runtime, does this mean our efforts to set a
> TTL are being silently ignored? Isn't this bad behavior? Even if the
> hfile.format.version is set to the wrong version, wouldn't it be better to
> throw an error instead of just silently dropping any tags that are set?
> 
> Thanks.
> 
> -----
> Saad