You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2017/02/17 19:01:41 UTC

[jira] [Created] (PHOENIX-3685) Extra DeleteFamily marker in index table when upserting row

James Taylor created PHOENIX-3685:
-------------------------------------

             Summary: Extra DeleteFamily marker in index table when upserting row
                 Key: PHOENIX-3685
                 URL: https://issues.apache.org/jira/browse/PHOENIX-3685
             Project: Phoenix
          Issue Type: Bug
            Reporter: James Taylor


Based on some testing (see patch), I noticed a mysterious DeleteFamily marker when a covered column is set to null. This could potentially delete an actual row with that row key, so it's bad.

Here's a raw scan dump taken after the MutableIndexIT.testCoveredColumns() test:
{code}
************ dumping IDX_T000002;hconnection-0x211e75ea **************
\x00a/0:/1487356752097/DeleteFamily/vlen=0/seqid=0 value = 
x\x00a/0:0:V2/1487356752231/Put/vlen=1/seqid=0 value = 4
x\x00a/0:0:V2/1487356752225/Put/vlen=1/seqid=0 value = 4
x\x00a/0:0:V2/1487356752202/Put/vlen=1/seqid=0 value = 3
x\x00a/0:0:V2/1487356752149/DeleteColumn/vlen=0/seqid=0 value = 
x\x00a/0:0:V2/1487356752097/Put/vlen=1/seqid=0 value = 1
x\x00a/0:_0/1487356752231/Put/vlen=2/seqid=0 value = _0
x\x00a/0:_0/1487356752225/Put/vlen=2/seqid=0 value = _0
x\x00a/0:_0/1487356752202/Put/vlen=2/seqid=0 value = _0
x\x00a/0:_0/1487356752149/Put/vlen=2/seqid=0 value = _0
x\x00a/0:_0/1487356752097/Put/vlen=2/seqid=0 value = _0
-----------------------------------------------
{code}
That first DeleteFamily marker shouldn't be there. This occurs for both global and local indexes, but not for transactional tables. A further optimization would be not to issue the first Put since the value behind it is the same.

On the plus side, we're not issuing DeleteFamily markers when only the covered column is being set which is good.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)