You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ryan rawson (JIRA)" <ji...@apache.org> on 2011/01/31 22:41:29 UTC
[jira] Created: (HBASE-3494) checkAndPut implementation doesnt
verify row param and writable row are the same
checkAndPut implementation doesnt verify row param and writable row are the same
--------------------------------------------------------------------------------
Key: HBASE-3494
URL: https://issues.apache.org/jira/browse/HBASE-3494
Project: HBase
Issue Type: Bug
Affects Versions: 0.90.0
Reporter: ryan rawson
the API checkAndPut, and on the server side checkAndMutate doesn't enforce that the row in the API call and the row in the passed writable that should be executed if the check passes, are the same row! Looking at the code, if someone were to 'fool' us, we'd probably end up with rows in the wrong region in the worst case. Or we'd end up with non-locked puts/deletes to different rows since the checkAndMutate grabs the row lock and calls put/delete methods that do not grab row locks.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HBASE-3494) checkAndPut implementation doesnt
verify row param and writable row are the same
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989775#comment-12989775 ]
stack commented on HBASE-3494:
------------------------------
@Joe Agreed
> checkAndPut implementation doesnt verify row param and writable row are the same
> --------------------------------------------------------------------------------
>
> Key: HBASE-3494
> URL: https://issues.apache.org/jira/browse/HBASE-3494
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.90.0
> Reporter: ryan rawson
> Assignee: ryan rawson
> Fix For: 0.90.1
>
> Attachments: HBASE-3494.txt
>
>
> the API checkAndPut, and on the server side checkAndMutate doesn't enforce that the row in the API call and the row in the passed writable that should be executed if the check passes, are the same row! Looking at the code, if someone were to 'fool' us, we'd probably end up with rows in the wrong region in the worst case. Or we'd end up with non-locked puts/deletes to different rows since the checkAndMutate grabs the row lock and calls put/delete methods that do not grab row locks.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HBASE-3494) checkAndPut implementation doesnt
verify row param and writable row are the same
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989546#comment-12989546 ]
Hudson commented on HBASE-3494:
-------------------------------
Integrated in HBase-TRUNK #1728 (See [https://hudson.apache.org/hudson/job/HBase-TRUNK/1728/])
> checkAndPut implementation doesnt verify row param and writable row are the same
> --------------------------------------------------------------------------------
>
> Key: HBASE-3494
> URL: https://issues.apache.org/jira/browse/HBASE-3494
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.90.0
> Reporter: ryan rawson
> Assignee: ryan rawson
> Fix For: 0.90.1
>
> Attachments: HBASE-3494.txt
>
>
> the API checkAndPut, and on the server side checkAndMutate doesn't enforce that the row in the API call and the row in the passed writable that should be executed if the check passes, are the same row! Looking at the code, if someone were to 'fool' us, we'd probably end up with rows in the wrong region in the worst case. Or we'd end up with non-locked puts/deletes to different rows since the checkAndMutate grabs the row lock and calls put/delete methods that do not grab row locks.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (HBASE-3494) checkAndPut implementation doesnt
verify row param and writable row are the same
Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ryan rawson updated HBASE-3494:
-------------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
> checkAndPut implementation doesnt verify row param and writable row are the same
> --------------------------------------------------------------------------------
>
> Key: HBASE-3494
> URL: https://issues.apache.org/jira/browse/HBASE-3494
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.90.0
> Reporter: ryan rawson
> Assignee: ryan rawson
> Fix For: 0.90.1
>
> Attachments: HBASE-3494.txt
>
>
> the API checkAndPut, and on the server side checkAndMutate doesn't enforce that the row in the API call and the row in the passed writable that should be executed if the check passes, are the same row! Looking at the code, if someone were to 'fool' us, we'd probably end up with rows in the wrong region in the worst case. Or we'd end up with non-locked puts/deletes to different rows since the checkAndMutate grabs the row lock and calls put/delete methods that do not grab row locks.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (HBASE-3494) checkAndPut implementation doesnt
verify row param and writable row are the same
Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ryan rawson updated HBASE-3494:
-------------------------------
Fix Version/s: 0.90.1
Assignee: ryan rawson
Status: Patch Available (was: Open)
fix w/test
> checkAndPut implementation doesnt verify row param and writable row are the same
> --------------------------------------------------------------------------------
>
> Key: HBASE-3494
> URL: https://issues.apache.org/jira/browse/HBASE-3494
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.90.0
> Reporter: ryan rawson
> Assignee: ryan rawson
> Fix For: 0.90.1
>
> Attachments: HBASE-3494.txt
>
>
> the API checkAndPut, and on the server side checkAndMutate doesn't enforce that the row in the API call and the row in the passed writable that should be executed if the check passes, are the same row! Looking at the code, if someone were to 'fool' us, we'd probably end up with rows in the wrong region in the worst case. Or we'd end up with non-locked puts/deletes to different rows since the checkAndMutate grabs the row lock and calls put/delete methods that do not grab row locks.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HBASE-3494) checkAndPut implementation doesnt
verify row param and writable row are the same
Posted by "Joe Pallas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989772#comment-12989772 ]
Joe Pallas commented on HBASE-3494:
-----------------------------------
It would be nice if the API Javadoc mentioned this restriction.
> checkAndPut implementation doesnt verify row param and writable row are the same
> --------------------------------------------------------------------------------
>
> Key: HBASE-3494
> URL: https://issues.apache.org/jira/browse/HBASE-3494
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.90.0
> Reporter: ryan rawson
> Assignee: ryan rawson
> Fix For: 0.90.1
>
> Attachments: HBASE-3494.txt
>
>
> the API checkAndPut, and on the server side checkAndMutate doesn't enforce that the row in the API call and the row in the passed writable that should be executed if the check passes, are the same row! Looking at the code, if someone were to 'fool' us, we'd probably end up with rows in the wrong region in the worst case. Or we'd end up with non-locked puts/deletes to different rows since the checkAndMutate grabs the row lock and calls put/delete methods that do not grab row locks.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HBASE-3494) checkAndPut implementation doesnt
verify row param and writable row are the same
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12988951#comment-12988951 ]
stack commented on HBASE-3494:
------------------------------
+1
> checkAndPut implementation doesnt verify row param and writable row are the same
> --------------------------------------------------------------------------------
>
> Key: HBASE-3494
> URL: https://issues.apache.org/jira/browse/HBASE-3494
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.90.0
> Reporter: ryan rawson
> Assignee: ryan rawson
> Fix For: 0.90.1
>
> Attachments: HBASE-3494.txt
>
>
> the API checkAndPut, and on the server side checkAndMutate doesn't enforce that the row in the API call and the row in the passed writable that should be executed if the check passes, are the same row! Looking at the code, if someone were to 'fool' us, we'd probably end up with rows in the wrong region in the worst case. Or we'd end up with non-locked puts/deletes to different rows since the checkAndMutate grabs the row lock and calls put/delete methods that do not grab row locks.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (HBASE-3494) checkAndPut implementation doesnt
verify row param and writable row are the same
Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ryan rawson updated HBASE-3494:
-------------------------------
Attachment: HBASE-3494.txt
> checkAndPut implementation doesnt verify row param and writable row are the same
> --------------------------------------------------------------------------------
>
> Key: HBASE-3494
> URL: https://issues.apache.org/jira/browse/HBASE-3494
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.90.0
> Reporter: ryan rawson
> Attachments: HBASE-3494.txt
>
>
> the API checkAndPut, and on the server side checkAndMutate doesn't enforce that the row in the API call and the row in the passed writable that should be executed if the check passes, are the same row! Looking at the code, if someone were to 'fool' us, we'd probably end up with rows in the wrong region in the worst case. Or we'd end up with non-locked puts/deletes to different rows since the checkAndMutate grabs the row lock and calls put/delete methods that do not grab row locks.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira