[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


FAILURE: Integrated in Jenkins build HBASE-14070.HLC #263 (See 
[https://builds.apache.org/job/HBASE-14070.HLC/263/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev 56f9e1a60af224f8f3b0453932155ca46d44cf71)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
* (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


SUCCESS: Integrated in Jenkins build HBase-1.2-JDK8 #193 (See 
[https://builds.apache.org/job/HBase-1.2-JDK8/193/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev 658b01e26e08bb80a130671e6aaad58de258b376)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3557 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3557/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev 56f9e1a60af224f8f3b0453932155ca46d44cf71)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java
* (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


FAILURE: Integrated in Jenkins build HBase-2.0 #354 (See 
[https://builds.apache.org/job/HBase-2.0/354/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev bb2b6b86623233bcc12dc3276ae805c45241875b)
* (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


SUCCESS: Integrated in Jenkins build HBase-1.3-JDK8 #254 (See 
[https://builds.apache.org/job/HBase-1.3-JDK8/254/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev bc925b4e857e28a2377c8c325eaa2819ab7a7524)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


FAILURE: Integrated in Jenkins build HBase-1.4 #870 (See 
[https://builds.apache.org/job/HBase-1.4/870/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev 73732fd9fa1c82a0b004a7efc5e61d1dc06868d0)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


FAILURE: Integrated in Jenkins build HBase-1.5 #17 (See 
[https://builds.apache.org/job/HBase-1.5/17/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev f61f09cdf27b34d3549ec450bbffba3487445d74)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


SUCCESS: Integrated in Jenkins build HBase-1.3-IT #175 (See 
[https://builds.apache.org/job/HBase-1.3-IT/175/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev bc925b4e857e28a2377c8c325eaa2819ab7a7524)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


FAILURE: Integrated in Jenkins build HBase-1.2-JDK7 #198 (See 
[https://builds.apache.org/job/HBase-1.2-JDK7/198/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev 658b01e26e08bb80a130671e6aaad58de258b376)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18471:


FAILURE: Integrated in Jenkins build HBase-1.3-JDK7 #242 (See 
[https://builds.apache.org/job/HBase-1.3-JDK7/242/])
HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to 
(chia7712: rev bc925b4e857e28a2377c8c325eaa2819ab7a7524)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java


> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


Thanks for the comment. [~ram_krish]
Not that I hated current solution less, but that I hated data loss more. TODO 
will be left in getKeyForNextColumn() for reminding someone to give a better 
way.

Will commit it tomorrow if no objections.



> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


BTW this is great debugging :)

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-18 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


So you make a cell by just changing the type to minimum and so the seek tries 
to seek to a cell lesser than the current Cell (the cell with empty qualifier). 
So we find the deleteFamily. 
I hope all other delete varieties does not have this problem because I think 
they will be having a qualifier associated with it.
I don have any suggestion currently to make the comparator more intelligent in 
this case. +1.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-17 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


[~ram_krish] Thanks for the great case. Any more suggestions?

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


IMHO in an ideal case there is always a qualifier and puts with no qualifiers 
are rare, unless we see this type of issues with cell level ACLs where an user 
has tried issuing a delete family but some other malicious user tries to 
retrieve the older version of the cells by doing a Put with empty qualifier.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


bq. the delete marker should always be read before any normal kv.
We may scan many useless delete marks if they are related to older PUT cells.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


bq. I really don't know if there is a better way to work on this currently.
The cost of current solution is lower performance if there are many cells which 
have empty qualifier. But so far i don't find any better way.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread Allan Yang (JIRA)

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

Allan Yang commented on HBASE-18471:


{quote}
We compare the TS first, so normal kv with empty column can be sorted before 
delete mark if the kv's ts is larger(newer) than delete mark.
{quote}
I think this is not right, the delete marker should always be read before any 
normal kv. So that the DeleteTracker can collect all delete markers before 
working.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


[~chia7712] - Am just seeing your comment after I was debugging the flow. You 
seem to say the same point. 

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


IMHO the first peek() that happens after a StoreScanner is created does not 
involve the getKeyForNextColumn(). It is just what ever comes from the Memstore 
CSLM. ( when the cells are in memory)
When put(qual1, val) and DeleteFamily() is followed by put(empty, val0) - the 
comparator compares the latest put and the deleteFamily sees that the qualifier 
is same and it goes to the timestamp. In the timestamp the put sorts out first 
because that is the latest. In ts we purposefully consider the latest to appear 
first.

But in the case put(qual1, val) and DeleteFamily() is followed by put(qual0, 
val0) - in this case the put is considered to be larger than the delete family 
and hence put sorts out next. 
That is why on the first peek itself things change. And then yes with 
getKeyForNextColumn() we tend to get the next value. So this patch tries to 
avoid that. I really don't know if there is a better way to work on this 
currently. 

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


bq. why a normal kv with empty column sorted before delete mark
{code:title=CellComparator#compareWithoutRow}
...
diff = compareTimestamps(left, right);
if (diff != 0) return diff;

// Compare types. Let the delete types sort ahead of puts; i.e. types
// of higher numbers sort before those of lesser numbers. Maximum (255)
// appears ahead of everything, and minimum (0) appears after
// everything.
return (0xff & right.getTypeByte()) - (0xff & left.getTypeByte());
{code}
We compare the TS first, so normal kv with empty column can be sorted before 
delete mark if the kv's ts is larger(newer) than delete mark.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread Allan Yang (JIRA)

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

Allan Yang commented on HBASE-18471:


[~chia7712], I have a question, cell with type 'DeleteFamily' or 'DeleteColumn' 
should always sort before any kvs in one row, right? So why a normal kv with 
empty column sorted before delete mark and then the delete marker is skipped by 
'SeekNextColumn' ?

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


Ya CellComparator works fine. My bad.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


bq.The key say that we should skip all cells which have the same qualifier with 
current cell, so the DeleteFamily is skipped.
So my main doubt was that with the first cell that is peeked why is that a 
difference. I expected qual0 and empty qualifier both to be lesser than the 
qual1. Will check the patch.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


The bug is due to the key returned from getKeyForNextColumn(). The key say that 
*we should skip all cells which have the same qualifier with current cell*, so 
the DeleteFamily is skipped.
ex1: Put (qual1), Delete family, put(qual0, val0), put(qual0, val1)
The *DeleteFamily* always peeks out as the first Cell, so every thing works 
fine.

ex2: Put (qual1), Delete family, put(empty, val0), put(empty, val1)
The *put(empty, val1)* always peeks out as the first Cell. After put(empty, 
val0) peeks out, the matcher say "SeekNextColumn". StoreScanner use the key 
from matcher#getKeyForNextColumn() to seek next column. The layout of the key 
is shown below:
|row|fam|empty|HConstants.OLDEST_TIMESTAMP|Type.Minimum| 
Hence, the DeleteFamily is skipped because it is larger than the key.

bq. Ideally a cell with qualifier qual0 and a cell without qualifier the cell 
without qualifier should sort first and then the cell with qualifier.
It seems to me that the CellComparator works normally about this.

bq. I think in CellComparator#compareColums if we can handle this then we are 
able to solve this issue?
Pardon me, I fail to catch what you mean here.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


My doubt is correct.
Say assume we have qual1 and qual0.
We first do a put for qual1 and then we add a deleteFamily.
Say in the same test case after DeleteFamily is added, if we do puts for qual0 
(instead of empty qual as done now) every thing works fine. I think the simple 
reason is because just after adding 
Put (qual1), Delete family, put(qual0, val0), put(qual0, val1) - the 
Deletefamily always sorts out first becuase it knows that qual0 is lesser than 
qual1 and so while scanning DeleteFamily always peeks out as the first Cell 
when we do StoreScanner#next().
But when an empty qualifier is added the sorting takes a different pattern.
Ideally a cell with qualifier qual0 and a cell without qualifier the cell 
without qualifier should sort first and then the cell with qualifier.
I think in CellComparator#compareColums if we can handle this then we are able 
to solve this issue?
{code}
  if(lclength != 0 && rclength == 0) {
// means the right hand side should be sorted lower.
return 1;
  }
  if(lclength == 0 && rclength != 0) {
// means the right hand side should be sorted higher.
return -1;
  }
{code}
What do you think [~chia7712]?

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


bq. After a DeleteFamily here a Put
bq. What happens if a put with a qualifier which is lexographically smaller 
than the existing QUALIFIER happens after the DeleteFamily?
Do you mean all puts happen *after* the DeleteFamily? If yes, the DeleteFamily 
cell doesn't delete any PUT cells. Please correct me if I was wrong.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-16 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


Reviewing this. So reading the patch and the description. After a DeleteFamily 
here a Put with empty qualifier is being added. What happens if a put with a 
qualifier which is lexographically smaller than the existing QUALIFIER happens 
after the DeleteFamily?

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-14 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-18471:


Will check this tomorrow. 

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBASE-18471.v1.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-14 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18471:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
22s{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
17s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  3m 
59s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
4s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
46s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
29s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  4m  
6s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
50s{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
18s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
 9s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
2s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m  
2s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
44s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
26s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
33m 52s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  4m 
19s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
46s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
16s{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red}131m 20s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
31s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}189m  9s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Timed out junit tests | 
org.apache.hadoop.hbase.master.assignment.TestSplitTableRegionProcedure |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:bdc94b1 |
| JIRA Issue | HBASE-18471 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12881755/HBASE-18471.v1.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux ad9ba676cc58 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 
12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build@2/component/dev-support/hbase-personality.sh
 |
| git revision | master / e2b797b |
| Default Java | 1.8.0_144 |
| findbugs | v3.1.0-RC3 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/8075/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/8075/testReport/ |
| modules | C: hbase-common hbase-

[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-14 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


bq. In our compare logic, there is special treatment for min and max I guess. 
We wont even see the TS
Do you mean this special treatment?
{code:title=CellComparator#compareWithoutRow}
if (lFamLength + lQualLength == 0
  && left.getTypeByte() == Type.Minimum.getCode()) {
  // left is "bigger", i.e. it appears later in the sorted order
  return 1;
}
if (rFamLength + rQualLength == 0
&& right.getTypeByte() == Type.Minimum.getCode()) {
  return -1;
}
{code}
There is no special treatment for max. Also i don' find any case that the cell 
has empty column and PUT type. (i mean this patch won't generate the cell which 
has empty column and MINIMUM type.)

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-14 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-18471:


Nice debug.  Ya this is a serious issue but did not unearth till now !
{code}
 if (type != Type.Minimum.getCode()) {
3148  type = 
KeyValue.Type.values()[KeyValue.Type.codeToType(type).ordinal() - 1].getCode();
3149} else if (ts != HConstants.OLDEST_TIMESTAMP) {
3150  ts = ts - 1;
3151  type = Type.Maximum.getCode();
3152}
{code}
So as in the test, we will call with a Put type cell.  So the type is not min 
and 1st if is through.  We will use the type as one below the PUT type which is 
again MINIMUM.   But then we will NOT change the ts.  That is the diff what we 
make (?)
In our compare logic, there is special treatment for min and max I guess. We 
wont even see the TS then (?)  I may be wrong.  If so am not sure how we will 
solve issue here.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.branch-1.2.v0.patch, HBASE-18471.v0.patch, 
> HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-14 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18471:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
29s{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
54s{color} | {color:green} branch-1.2 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
41s{color} | {color:green} branch-1.2 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
40s{color} | {color:green} branch-1.2 passed with JDK v1.7.0_131 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
 2s{color} | {color:green} branch-1.2 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
20s{color} | {color:green} branch-1.2 passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m  
5s{color} | {color:green} branch-1.2 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
31s{color} | {color:green} branch-1.2 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
39s{color} | {color:green} branch-1.2 passed with JDK v1.7.0_131 {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
49s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
36s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
36s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
36s{color} | {color:green} the patch passed with JDK v1.7.0_131 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
36s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
59s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
18s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
14m 31s{color} | {color:green} The patch does not cause any errors with Hadoop 
2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
25s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
31s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
38s{color} | {color:green} the patch passed with JDK v1.7.0_131 {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 82m 52s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
16s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}113m 28s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.regionserver.TestRegionReplicaFailover |
|   | hadoop.hbase.mapreduce.TestMultiTableSnapshotInputFormat |
|   | hadoop.hbase.mapred.TestMultiTableSnapshotInputFormat |
| Timed out junit tests | 
org.apache.hadoop.hbase.snapshot.TestSecureExportSnapshot |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:933f4b3 |
| JIRA Issue | HBASE-18471 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12881696/HBASE-18471.branch-1.2.v0.patch
 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| unam

[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-14 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18471:


Will post patch for branch-1 and branch-1.2

{quote}
+  /**
+   * @param cell current cell
+   * @return Null if we have no idea about the "hint" of next key
+   */
{quote}
The above comment is wrong...I will remove it.

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.v0.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18471) The DeleteFamily cell is skipped when StoreScanner seeks to next column

2017-08-14 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-18471:


lgtm

Can you post patch for branch-1.2 ?

> The DeleteFamily cell is skipped when StoreScanner seeks to next column
> ---
>
> Key: HBASE-18471
> URL: https://issues.apache.org/jira/browse/HBASE-18471
> Project: HBase
>  Issue Type: Bug
>  Components: Deletes, hbase, scan
>Affects Versions: 3.0.0, 1.3.0, 1.3.1, 2.0.0-alpha-1
>Reporter: Thomas Martens
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18471.v0.patch, HBaseDmlTest.java
>
>
> The qualifier of a deleted row (with keep deleted cells true) re-appears 
> after re-inserting the same row multiple times (with different timestamp) 
> with an empty qualifier.
> Scenario:
> # Put row with family and qualifier (timestamp 1).
> # Delete entire row (timestamp 2).
> # Put same row again with family without qualifier (timestamp 3).
> A scan (latest version) returns the row with family without qualifier, 
> version 3 (which is correct).
> # Put the same row again with family without qualifier (timestamp 4).
> A scan (latest version) returns multiple rows:
> * the row with family without qualifier, version 4 (which is correct).
> * the row with family with qualifier, version 1 (which is wrong).
> There is a test scenario attached.
> output:
>  13:42:53,952 [main] client.HBaseAdmin - Started disable of test_dml
>  13:42:55,801 [main] client.HBaseAdmin - Disabled test_dml
>  13:42:57,256 [main] client.HBaseAdmin - Deleted test_dml
>  13:42:58,592 [main] client.HBaseAdmin - Created test_dml
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'myQualifier' with 
> timestamp: '1'
> Scan printout =>
>   Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 'myQualifier', 
> Value: 'myValue'
> Delete row: 'myRow'
> Scan printout =>
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '3'
> Scan printout =>
>   Row: 'myRow', Timestamp: '3', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
> Put row: 'myRow' with family: 'myFamily' with qualifier: 'null' with 
> timestamp: '4'
> Scan printout =>
>   Row: 'myRow', Timestamp: '4', Family: 'myFamily', Qualifier: '', Value: 
> 'myValue'
>   {color:red}Row: 'myRow', Timestamp: '1', Family: 'myFamily', Qualifier: 
> 'myQualifier', Value: 'myValue'{color}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)