phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas D'Silva (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-3685) Extra DeleteFamily marker in non tx index table when setting covered column to null
Date Mon, 06 Mar 2017 18:33:32 GMT

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

Thomas D'Silva commented on PHOENIX-3685:
-----------------------------------------

Resolved with https://issues.apache.org/jira/browse/PHOENIX-3680

> Extra DeleteFamily marker in non tx index table when setting covered column to null
> -----------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3685
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3685
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Thomas D'Silva
>            Priority: Blocker
>             Fix For: 4.10.0
>
>         Attachments: PHOENIX-3685-test.patch
>
>
> 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)

Mime
View raw message