[jira] [Updated] (HBASE-5345) CheckAndPut doesn't work when value is empty byte[]

2012-02-08 Thread Zhihong Yu (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-5345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhihong Yu updated HBASE-5345:
--

Resolution: Fixed
Status: Resolved  (was: Patch Available)

 CheckAndPut doesn't work when value is empty byte[]
 ---

 Key: HBASE-5345
 URL: https://issues.apache.org/jira/browse/HBASE-5345
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0
Reporter: Evert Arckens
Assignee: Evert Arckens
 Fix For: 0.94.0, 0.92.1

 Attachments: 5345-v2.txt, 5345.txt, 
 checkAndMutateEmpty-HBASE-5345.patch


 When a value contains an empty byte[] and then a checkAndPut is performed 
 with an empty byte[] , the operation will fail.
 For example:
 Put put = new Put(row1);
 put.add(fam1, qf1, new byte[0]);
 table.put(put);
 put = new Put(row1);
 put.add(fam1, qf1, val1);
 table.checkAndPut(row1, fam1, qf1, new byte[0], put); --- false
 I think this is related to HBASE-3793 and HBASE-3468.
 Note that you will also get into this situation when first putting a null 
 value ( put.add(fam1,qf1,null) ), as this value will then be regarded and 
 returned as an empty byte[] upon a get.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-5345) CheckAndPut doesn't work when value is empty byte[]

2012-02-07 Thread Evert Arckens (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-5345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Evert Arckens updated HBASE-5345:
-

Attachment: checkAndMutateEmpty-HBASE-5345.patch

This attachment contains a patch which I believe fixes the issue and has a test 
added to TestHRegion

 CheckAndPut doesn't work when value is empty byte[]
 ---

 Key: HBASE-5345
 URL: https://issues.apache.org/jira/browse/HBASE-5345
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0
Reporter: Evert Arckens
 Attachments: checkAndMutateEmpty-HBASE-5345.patch


 When a value contains an empty byte[] and then a checkAndPut is performed 
 with an empty byte[] , the operation will fail.
 For example:
 Put put = new Put(row1);
 put.add(fam1, qf1, new byte[0]);
 table.put(put);
 put = new Put(row1);
 put.add(fam1, qf1, val1);
 table.checkAndPut(row1, fam1, qf1, new byte[0], put); --- false
 I think this is related to HBASE-3793 and HBASE-3468.
 Note that you will also get into this situation when first putting a null 
 value ( put.add(fam1,qf1,null) ), as this value will then be regarded and 
 returned as an empty byte[] upon a get.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-5345) CheckAndPut doesn't work when value is empty byte[]

2012-02-07 Thread Zhihong Yu (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-5345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhihong Yu updated HBASE-5345:
--

Status: Patch Available  (was: Open)

 CheckAndPut doesn't work when value is empty byte[]
 ---

 Key: HBASE-5345
 URL: https://issues.apache.org/jira/browse/HBASE-5345
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0
Reporter: Evert Arckens
 Attachments: checkAndMutateEmpty-HBASE-5345.patch


 When a value contains an empty byte[] and then a checkAndPut is performed 
 with an empty byte[] , the operation will fail.
 For example:
 Put put = new Put(row1);
 put.add(fam1, qf1, new byte[0]);
 table.put(put);
 put = new Put(row1);
 put.add(fam1, qf1, val1);
 table.checkAndPut(row1, fam1, qf1, new byte[0], put); --- false
 I think this is related to HBASE-3793 and HBASE-3468.
 Note that you will also get into this situation when first putting a null 
 value ( put.add(fam1,qf1,null) ), as this value will then be regarded and 
 returned as an empty byte[] upon a get.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-5345) CheckAndPut doesn't work when value is empty byte[]

2012-02-07 Thread Zhihong Yu (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-5345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhihong Yu updated HBASE-5345:
--

Attachment: 5345.txt

Patch which applies to TRUNK.

Please generate patch at the root of hbase workspace.

 CheckAndPut doesn't work when value is empty byte[]
 ---

 Key: HBASE-5345
 URL: https://issues.apache.org/jira/browse/HBASE-5345
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0
Reporter: Evert Arckens
 Attachments: 5345.txt, checkAndMutateEmpty-HBASE-5345.patch


 When a value contains an empty byte[] and then a checkAndPut is performed 
 with an empty byte[] , the operation will fail.
 For example:
 Put put = new Put(row1);
 put.add(fam1, qf1, new byte[0]);
 table.put(put);
 put = new Put(row1);
 put.add(fam1, qf1, val1);
 table.checkAndPut(row1, fam1, qf1, new byte[0], put); --- false
 I think this is related to HBASE-3793 and HBASE-3468.
 Note that you will also get into this situation when first putting a null 
 value ( put.add(fam1,qf1,null) ), as this value will then be regarded and 
 returned as an empty byte[] upon a get.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-5345) CheckAndPut doesn't work when value is empty byte[]

2012-02-07 Thread Zhihong Yu (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-5345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhihong Yu updated HBASE-5345:
--

Fix Version/s: 0.92.1
   0.94.0
 Assignee: Evert Arckens
 Hadoop Flags: Reviewed

 CheckAndPut doesn't work when value is empty byte[]
 ---

 Key: HBASE-5345
 URL: https://issues.apache.org/jira/browse/HBASE-5345
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0
Reporter: Evert Arckens
Assignee: Evert Arckens
 Fix For: 0.94.0, 0.92.1

 Attachments: 5345.txt, checkAndMutateEmpty-HBASE-5345.patch


 When a value contains an empty byte[] and then a checkAndPut is performed 
 with an empty byte[] , the operation will fail.
 For example:
 Put put = new Put(row1);
 put.add(fam1, qf1, new byte[0]);
 table.put(put);
 put = new Put(row1);
 put.add(fam1, qf1, val1);
 table.checkAndPut(row1, fam1, qf1, new byte[0], put); --- false
 I think this is related to HBASE-3793 and HBASE-3468.
 Note that you will also get into this situation when first putting a null 
 value ( put.add(fam1,qf1,null) ), as this value will then be regarded and 
 returned as an empty byte[] upon a get.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-5345) CheckAndPut doesn't work when value is empty byte[]

2012-02-07 Thread Zhihong Yu (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-5345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhihong Yu updated HBASE-5345:
--

Attachment: 5345-v2.txt

We should check whether result is empty before indexing.

 CheckAndPut doesn't work when value is empty byte[]
 ---

 Key: HBASE-5345
 URL: https://issues.apache.org/jira/browse/HBASE-5345
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0
Reporter: Evert Arckens
Assignee: Evert Arckens
 Fix For: 0.94.0, 0.92.1

 Attachments: 5345-v2.txt, 5345.txt, 
 checkAndMutateEmpty-HBASE-5345.patch


 When a value contains an empty byte[] and then a checkAndPut is performed 
 with an empty byte[] , the operation will fail.
 For example:
 Put put = new Put(row1);
 put.add(fam1, qf1, new byte[0]);
 table.put(put);
 put = new Put(row1);
 put.add(fam1, qf1, val1);
 table.checkAndPut(row1, fam1, qf1, new byte[0], put); --- false
 I think this is related to HBASE-3793 and HBASE-3468.
 Note that you will also get into this situation when first putting a null 
 value ( put.add(fam1,qf1,null) ), as this value will then be regarded and 
 returned as an empty byte[] upon a get.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira