You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2011/09/04 23:19:09 UTC
[jira] [Created] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Bypassing default actions in prePut fails sometimes with HTable client
----------------------------------------------------------------------
Key: HBASE-4331
URL: https://issues.apache.org/jira/browse/HBASE-4331
Project: HBase
Issue Type: Bug
Components: coprocessors
Affects Versions: 0.92.0
Reporter: Lars Hofhansl
Fix For: 0.92.0
While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
(I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13099654#comment-13099654 ]
Lars Hofhansl commented on HBASE-4331:
--------------------------------------
What's the general feeling about this change?
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-4331:
---------------------------------
Attachment: 4331-v4.txt
Just forgot to change the config property that points to the coprocessor class when I changed the name of the test.
Using class.getName() now.
Also added a few tests for other permutations.
All coprocessor related test pass for me.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331-v4.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl reassigned HBASE-4331:
------------------------------------
Assignee: Lars Hofhansl
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13102016#comment-13102016 ]
Hudson commented on HBASE-4331:
-------------------------------
Integrated in HBase-TRUNK #2196 (See [https://builds.apache.org/job/HBase-TRUNK/2196/])
HBASE-4331 Bypassing default actions in prePut fails sometimes with HTable client
garyh :
Files :
* /hbase/trunk/CHANGES.txt
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverBypass.java
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331-v4.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Gary Helmling (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100784#comment-13100784 ]
Gary Helmling commented on HBASE-4331:
--------------------------------------
No, another patch here is fine. I'm +1 with that change, assuming tests pass.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Gary Helmling (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13099659#comment-13099659 ]
Gary Helmling commented on HBASE-4331:
--------------------------------------
Hi Lars,
I took a quick look and it seemed good. I like the additional tests as well.
I just want to take some time to review the batch put handling in a little more detail. Will dig in tonight.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-4331:
---------------------------------
Attachment: 4331-v2.txt
Forgot to add the test to the previous patch.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100806#comment-13100806 ]
Lars Hofhansl commented on HBASE-4331:
--------------------------------------
I sync'd the latest trunk and now there seems to be additional checking on column families (a put with non-existent CF fails before it even gets to the coprocessor, I assume that's desired).
But also with the latest changes my own test fails now.
So it'll be a bit until I track that down.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-4331:
---------------------------------
Attachment: 4331-v3.txt
Same patch, just with a few more comment.
Andrew, Gary, or Mingie, I think you'd be the most qualified to look at this.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-4331:
---------------------------------
Attachment: 4331.txt
Patch to fix the issue.
Folks more familiar with the preprocessor code: Please have a careful look.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Gary Helmling (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100749#comment-13100749 ]
Gary Helmling commented on HBASE-4331:
--------------------------------------
Lars,
Looks good. My only comment would be to rename the new TestRegionObserver class to something like TestRegionObserverBypass, since that's what it's actually testing and we already have TestRegionObserverInterface.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100783#comment-13100783 ]
Lars Hofhansl commented on HBASE-4331:
--------------------------------------
Thanks Gary. I will attach a new patch in a few minutes. Would you prefer a review on review board?
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (HBASE-4331) Bypassing default actions in prePut
fails sometimes with HTable client
Posted by "Gary Helmling (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Helmling resolved HBASE-4331.
----------------------------------
Resolution: Fixed
Hadoop Flags: [Reviewed]
Committed to trunk. Thanks for the patch Lars.
> Bypassing default actions in prePut fails sometimes with HTable client
> ----------------------------------------------------------------------
>
> Key: HBASE-4331
> URL: https://issues.apache.org/jira/browse/HBASE-4331
> Project: HBase
> Issue Type: Bug
> Components: coprocessors
> Affects Versions: 0.92.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.92.0
>
> Attachments: 4331-v2.txt, 4331-v3.txt, 4331-v4.txt, 4331.txt
>
>
> While testing some other scenario I found calling CoprocessorEnvironment.bypass() fails if all trailing puts in a batch are bypassed that way. By extension a single bypassed put will also fail.
> The problem is that the puts are removed from the batch in a way that does not align them with the result-status, and in addition the result is never marked as success.
> A possible fix is to just mark bypassed puts as SUCCESS and filter them in the following logic.
> (I also contemplated a new BYPASSED OperationStatusCode, but that turned out to be not necessary).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira