You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by 冯宏华 <fe...@xiaomi.com> on 2013/06/13 04:44:43 UTC

答复: 答复: Scanning not show the correct value of latest version

My pleasure :-)

--Honghua

________________________________________
发件人: Kyle Lin [kylelin2000@gmail.com]
发送时间: 2013年6月13日 10:41
收件人: user@hbase.apache.org
主题: Re: 答复: Scanning not show the correct value of latest version

Hello Hong Hua

   I've do some experiments and really got the rule of deletion. Thanks for
your explanation.

2013/6/12 冯宏华 <fe...@xiaomi.com>

> hi, Kyle
>
> This is NOT a bug. There are three types of delete: Delete, DeleteColumn,
> DeleteFamily; Delete is actually DeleteCell which can only mask(delete) a
> cell with exactly the SAME timestamp, in your below case, "* Row1
>                      column=cf:c2, timestamp=1370935373545, type=Delete" is
> a Delete (DeleteCell) so it can only mask(delete) " Row1   column=cf:c2,
> timestamp=1370935373545, value=kk" since they have the same timestamps, but
> can't mask(delete) "Row1  column=cf:c2, timestamp=1370935357741, value=h
> *" since they have different timestamps
>
> DeleteColumn can do what you expect: it can mask(delete) cells under the
> column with timestamps less or equal to the timestamp of the DeleteColumn
>
> --Honghua
>
> ________________________________________
> 发件人: Kyle Lin [kylelin2000@gmail.com]
> 发送时间: 2013年6月11日 16:58
> 收件人: user@hbase.apache.org
> 主题: Scanning not show the correct value of latest version
>
> Hey Guys
>
>     After I modifying a cell many times with delete action, The result of
> scan is not correct.
>
>     I Expect the value of "Row1 cf:c2" is null because I've delete the
> cell(The line with blue color below). But I actually got "h"(The line with
> green color below).
>
>     Is this a hbase bug? Or my operating fault?
>
> hbase(main):007:0> scan 'table42', {RAW => true, VERSIONS => 3}
> ROW
> COLUMN+CELL
>
>  Row1                                column=cf:c1, timestamp=1370935357679,
> value=e
> * Row1                                column=cf:c2,
> timestamp=1370935373545, type=Delete
>
>  Row1                                column=cf:c2, timestamp=1370935373545,
> value=kk
>  Row1                                column=cf:c2, timestamp=1370935357741,
> value=h   *
>  Row2                                column=cf:c1, timestamp=1370935357804,
> value=p
>  Row2                                column=cf:c2, timestamp=1370935380939,
> value=pp
>  Row2                                column=cf:c2, timestamp=1370935373582,
> value=jj
>  Row2                                column=cf:c2, timestamp=1370935357774,
> value=d
> 2 row(s) in 0.0220 seconds
>
> hbase(main):008:0> scan 'table42'
> ROW
> COLUMN+CELL
>
>  Row1                                column=cf:c1, timestamp=1370935357679,
> value=e
> * Row1                                column=cf:c2,
> timestamp=1370935357741, value=h  *
>
>  Row2                                column=cf:c1, timestamp=1370935357804,
> value=p
>  Row2                                column=cf:c2, timestamp=1370935380939,
> value=pp
> 2 row(s) in 0.0200 seconds
>
>
> *P.S. My HBase Version is 0.94.6*
>
>
> Kyle
>