[ 
https://issues.apache.org/jira/browse/PHOENIX-3472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15654797#comment-15654797
 ] 

James Taylor commented on PHOENIX-3472:
---------------------------------------

We have to issue that delete marker as that's what is deleting the row that 
represents the old value to properly maintain the index. We can't know if the 
old value actually exists or not (it's potentially a different row on a 
different server). For immutable tables we don't because there should never be 
an old value since a row is never updated (by definition).

It's maybe possible that for local indexes we could check if the index row 
exists before issuing the Delete marker since we know it's a local operation. 
Any thoughts on this [~rajeshbabu]?

> Mutable index adds DeleteFamily markers which impacts query performance
> -----------------------------------------------------------------------
>
>                 Key: PHOENIX-3472
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3472
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.9.0
>            Reporter: Mujtaba Chohan
>
> {noformat}
> create table M (k varchar not null primary key, v archer);
> create index MI on M(v);
> upsert into M values ('a','b');
> {noformat}
> Raw scan shows the following two kv pair with the first one being a delete 
> marker
> {noformat}
> ROW                                     COLUMN+CELL                           
>                                                                             
>  \x00a    column=0:, timestamp=1478801841429, type=DeleteFamily               
>                                               
>  b\x00a   column=0:_0, timestamp=1478801841429, value=_0  
> {noformat}
> This severely impacts read query performance as data size grows, the number 
> of DeleteFamily markers also grows linearly in the table.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to