HBase
  1. HBase
  2. HBASE-5584

Coprocessor hooks can be called in the respective handlers

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.95.0
    • Component/s: Coprocessors
    • Labels:
      None

      Description

      Following points can be changed w.r.t to coprocessors

      -> Call preCreate, postCreate, preEnable, postEnable, etc. in their respective handlers
      -> Currently it is called in the HMaster thus making the postApis async w.r.t the handlers
      -> Similar is the case with the balancer.

      with current behaviour once we are in the postEnable(for eg) we any way need to wait for the main enable handler to
      be completed.
      We should ensure that we dont wait in the main thread so again we need to spawn a thread and wait on that.
      On the other hand if the pre and post api is called on the handlers then only that handler thread will be
      used in the pre/post apis

      If the above said plan is ok i can prepare a patch for all such related changes.

      1. HBASE-5584_Security_addendum.patch
        3 kB
        ramkrishna.s.vasudevan
      2. HBASE-5584-3.patch
        64 kB
        ramkrishna.s.vasudevan
      3. HBASE-5584-2.patch
        65 kB
        ramkrishna.s.vasudevan
      4. HBASE-5584-1.patch
        64 kB
        ramkrishna.s.vasudevan
      5. HBASE-5584.patch
        64 kB
        ramkrishna.s.vasudevan

        Activity

        Hide
        ramkrishna.s.vasudevan added a comment -

        One more reason for doing this could be on master failover we call EnableTableHandler and DisableTableHandler for partially enabled/disabled tables. But we don't call the coprocessor hooks in such scenarios.

        Show
        ramkrishna.s.vasudevan added a comment - One more reason for doing this could be on master failover we call EnableTableHandler and DisableTableHandler for partially enabled/disabled tables. But we don't call the coprocessor hooks in such scenarios.
        Hide
        Mingjie Lai added a comment -

        Ramkrishna.
        One thing you need to take into consideration is hbase ACL. Right now table level permission control (table creation, enabling, etc) is performed at master preCreate, preEnable e.g. hooks, and a request gets denied by throwing an exception.
        If you want to move preXXX to handler threads, the ACL exception cannot be handled properly to indicate a permission rejection. So in this case, if a user tries to delete someone else's tables, she won't see any exception although the request has been rejected.

        Show
        Mingjie Lai added a comment - Ramkrishna. One thing you need to take into consideration is hbase ACL. Right now table level permission control (table creation, enabling, etc) is performed at master preCreate, preEnable e.g. hooks, and a request gets denied by throwing an exception. If you want to move preXXX to handler threads, the ACL exception cannot be handled properly to indicate a permission rejection. So in this case, if a user tries to delete someone else's tables, she won't see any exception although the request has been rejected.
        Hide
        Andrew Purtell added a comment -

        Ram,

        What Mingjie said. The coprocessor hooks can't be asynchronous with respect to client action.

        Would adding additional hooks for handler actions work for you here?

        Show
        Andrew Purtell added a comment - Ram, What Mingjie said. The coprocessor hooks can't be asynchronous with respect to client action. Would adding additional hooks for handler actions work for you here?
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Mingjie/Andrew

        Thanks for your reply.

        Would adding additional hooks for handler actions work for you here?

        Yes it would work. We can strengthen the client that we write to see if all the needed tables are created or not. Atleast the change that we do will avoid unnecessary waiting logics added in the current hooks.

        Currently create, enable, disable, modify and delete, are done in async mode.
        Modifycolumn, deletecolumn all are sync. But still can we go ahead an add hooks in those Handlers also so that in future it may be needed.

        Can we name the new hooks as preXXXhandler and postXXXhandler?
        Please do suggest if the above is ok..I can submit a patch for the same.

        Show
        ramkrishna.s.vasudevan added a comment - @Mingjie/Andrew Thanks for your reply. Would adding additional hooks for handler actions work for you here? Yes it would work. We can strengthen the client that we write to see if all the needed tables are created or not. Atleast the change that we do will avoid unnecessary waiting logics added in the current hooks. Currently create, enable, disable, modify and delete, are done in async mode. Modifycolumn, deletecolumn all are sync. But still can we go ahead an add hooks in those Handlers also so that in future it may be needed. Can we name the new hooks as preXXXhandler and postXXXhandler? Please do suggest if the above is ok..I can submit a patch for the same.
        Hide
        Anoop Sam John added a comment -

        +1 on additional hooks.
        Different usecases can be supported.. As per the need user can use which one they want
        Thanks Andrew

        Show
        Anoop Sam John added a comment - +1 on additional hooks. Different usecases can be supported.. As per the need user can use which one they want Thanks Andrew
        Hide
        Andrew Purtell added a comment -

        Yes Ram that sounds good. Please consider making a note in the javadoc of MasterObserver which hooks are called synchronously with respect to RPC actions and which are not.

        Show
        Andrew Purtell added a comment - Yes Ram that sounds good. Please consider making a note in the javadoc of MasterObserver which hooks are called synchronously with respect to RPC actions and which are not.
        Hide
        ramkrishna.s.vasudevan added a comment -

        Patch for review.

        Show
        ramkrishna.s.vasudevan added a comment - Patch for review.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12519080/HBASE-5584.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        -1 findbugs. The patch appears to introduce 165 new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        -1 core tests. The patch failed these unit tests:
        org.apache.hadoop.hbase.coprocessor.TestMasterObserver

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1232//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1232//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1232//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12519080/HBASE-5584.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 165 new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these unit tests: org.apache.hadoop.hbase.coprocessor.TestMasterObserver Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1232//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1232//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1232//console This message is automatically generated.
        Hide
        ramkrishna.s.vasudevan added a comment -

        I am looking into the test case failure. In my local box it is passing. I have run all test cases with coprocessors particluarly. But am able to get the reason why it failed in HadoopQA.

        Show
        ramkrishna.s.vasudevan added a comment - I am looking into the test case failure. In my local box it is passing. I have run all test cases with coprocessors particluarly. But am able to get the reason why it failed in HadoopQA.
        Hide
        stack added a comment -

        Load up the patch and resubmit the patch Ram. See if it fails same way again (its odd that one failed in particular given what was changed).

        Show
        stack added a comment - Load up the patch and resubmit the patch Ram. See if it fails same way again (its odd that one failed in particular given what was changed).
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Stack
        Its better i handle it in testcase. If i resubmit also it will fail.

        Show
        ramkrishna.s.vasudevan added a comment - @Stack Its better i handle it in testcase. If i resubmit also it will fail.
        Hide
        stack added a comment -

        Oh, you know whats wrong? It is indeed broke?

        Show
        stack added a comment - Oh, you know whats wrong? It is indeed broke?
        Hide
        ramkrishna.s.vasudevan added a comment - - edited

        Updated patch (only testcase). In my local it was passing. Now added some sleep in testcase after create so that we can ensure that the postCreateHandler is called. Pls review.

        Show
        ramkrishna.s.vasudevan added a comment - - edited Updated patch (only testcase). In my local it was passing. Now added some sleep in testcase after create so that we can ensure that the postCreateHandler is called. Pls review.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12519174/HBASE-5584-1.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        -1 findbugs. The patch appears to introduce 4 new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        -1 core tests. The patch failed these unit tests:
        org.apache.hadoop.hbase.mapreduce.TestImportTsv
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1233//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1233//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1233//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12519174/HBASE-5584-1.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 4 new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these unit tests: org.apache.hadoop.hbase.mapreduce.TestImportTsv org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1233//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1233//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1233//console This message is automatically generated.
        Hide
        ramkrishna.s.vasudevan added a comment -

        The test cases are passing now after adding the sleep in testcase.

        Show
        ramkrishna.s.vasudevan added a comment - The test cases are passing now after adding the sleep in testcase.
        Hide
        Andrew Purtell added a comment - - edited

        In the patch I don't see where the unit test waits sufficiently for the async operation to complete. It's going to be racy. Use a CountDownLatch or similar to wait in the test for the handler?

        Edit: Ok, didn't refresh this page before commenting. Consider that a sleep may not be the best option, you don't eliminate a race against async activity, just hope to get out in front of it by waiting for a while.

        Show
        Andrew Purtell added a comment - - edited In the patch I don't see where the unit test waits sufficiently for the async operation to complete. It's going to be racy. Use a CountDownLatch or similar to wait in the test for the handler? Edit: Ok, didn't refresh this page before commenting. Consider that a sleep may not be the best option, you don't eliminate a race against async activity, just hope to get out in front of it by waiting for a while.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Andrew
        Instead of sleep i have added CountdownLatch for the assertion of create table. Pls review.

        Show
        ramkrishna.s.vasudevan added a comment - @Andrew Instead of sleep i have added CountdownLatch for the assertion of create table. Pls review.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12519440/HBASE-5584-2.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        -1 findbugs. The patch appears to introduce 3 new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        -1 core tests. The patch failed these unit tests:
        org.apache.hadoop.hbase.mapreduce.TestImportTsv
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1256//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1256//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1256//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12519440/HBASE-5584-2.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 3 new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these unit tests: org.apache.hadoop.hbase.mapreduce.TestImportTsv org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1256//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1256//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1256//console This message is automatically generated.
        Hide
        ramkrishna.s.vasudevan added a comment -

        Is this latest patch fine?

        Show
        ramkrishna.s.vasudevan added a comment - Is this latest patch fine?
        Hide
        stack added a comment -

        @Andrew One for you when you have a moment....

        Show
        stack added a comment - @Andrew One for you when you have a moment....
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Andrew
        If you have some time can you take a look at this?

        Show
        ramkrishna.s.vasudevan added a comment - @Andrew If you have some time can you take a look at this?
        Hide
        Andrew Purtell added a comment - - edited

        Please consider making a note in the javadoc of MasterObserver which hooks are called synchronously with respect to RPC actions and which are not.

        This patch goes beyond such notation and distinguishes two classes of coprocessor hook now, 1) hooks called inline with RPC processing which can bypass(), and 2) a new class of hooks called from async handler code that can note some action but not override it.

        Shouldn't we still allow overriding default behavior? Like with compaction. There we tell the user that calling bypass() without providing some kind of alternate writer will drop all data on the floor. Likewise, if a hook in EnableTableHandler doesn't actually enable the table and calls bypass(), then we can expect this was as intended, but clearly state this in the Javadoc.

        Edit: Sorry, not clear, I am +0 on the patch itself as long as we're all ok with the above. There is some newly added commented out code in the patch e.g.:

        +    /*while (!admin.isTableEnabled(htd.getName())
        +        && !admin.isTableAvailable(htd.getName())) {
        +      Thread.sleep(50);
        +    }*/
        

        Remove that on commit and I'm +1.

        Show
        Andrew Purtell added a comment - - edited Please consider making a note in the javadoc of MasterObserver which hooks are called synchronously with respect to RPC actions and which are not. This patch goes beyond such notation and distinguishes two classes of coprocessor hook now, 1) hooks called inline with RPC processing which can bypass(), and 2) a new class of hooks called from async handler code that can note some action but not override it. Shouldn't we still allow overriding default behavior? Like with compaction. There we tell the user that calling bypass() without providing some kind of alternate writer will drop all data on the floor. Likewise, if a hook in EnableTableHandler doesn't actually enable the table and calls bypass(), then we can expect this was as intended, but clearly state this in the Javadoc. Edit: Sorry, not clear, I am +0 on the patch itself as long as we're all ok with the above. There is some newly added commented out code in the patch e.g.: + /* while (!admin.isTableEnabled(htd.getName()) + && !admin.isTableAvailable(htd.getName())) { + Thread .sleep(50); + }*/ Remove that on commit and I'm +1.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Andy
        Thanks for your time and review. I will any way update the patch based on the latest code changes and remove that commented code.

        Show
        ramkrishna.s.vasudevan added a comment - @Andy Thanks for your time and review. I will any way update the patch based on the latest code changes and remove that commented code.
        Hide
        ramkrishna.s.vasudevan added a comment -

        Removed the commented lines.
        @Andy
        I think you are ok on commit right?

        Sorry, not clear, I am +0 on the patch itself as long as we're all ok with the above

        Devs, can you take a look at it?

        Show
        ramkrishna.s.vasudevan added a comment - Removed the commented lines. @Andy I think you are ok on commit right? Sorry, not clear, I am +0 on the patch itself as long as we're all ok with the above Devs, can you take a look at it?
        Hide
        Hadoop QA added a comment -

        +1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12525649/HBASE-5584-3.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 hadoop23. The patch compiles against the hadoop 0.23.x profile.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed unit tests in .

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1767//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1767//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1767//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12525649/HBASE-5584-3.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 hadoop23. The patch compiles against the hadoop 0.23.x profile. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1767//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1767//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1767//console This message is automatically generated.
        Hide
        Andrew Purtell added a comment -

        +1 Patch looks good Ram.

        Show
        Andrew Purtell added a comment - +1 Patch looks good Ram.
        Hide
        ramkrishna.s.vasudevan added a comment -

        Committed to trunk. Thanks for your review Andy.

        Show
        ramkrishna.s.vasudevan added a comment - Committed to trunk. Thanks for your review Andy.
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2853 (See https://builds.apache.org/job/HBase-TRUNK/2853/)
        HBASE-5584 Coprocessor hooks can be called in the respective handlers (Ram) (Revision 1334560)

        Result = SUCCESS
        ramkrishna :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/CreateTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/ModifyTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableAddFamilyHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableDeleteFamilyHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableModifyFamilyHandler.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2853 (See https://builds.apache.org/job/HBase-TRUNK/2853/ ) HBASE-5584 Coprocessor hooks can be called in the respective handlers (Ram) (Revision 1334560) Result = SUCCESS ramkrishna : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/CreateTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/ModifyTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableAddFamilyHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableDeleteFamilyHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableModifyFamilyHandler.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK-security #194 (See https://builds.apache.org/job/HBase-TRUNK-security/194/)
        HBASE-5584 Coprocessor hooks can be called in the respective handlers (Ram) (Revision 1334560)

        Result = FAILURE
        ramkrishna :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/CreateTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/ModifyTableHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableAddFamilyHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableDeleteFamilyHandler.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableModifyFamilyHandler.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK-security #194 (See https://builds.apache.org/job/HBase-TRUNK-security/194/ ) HBASE-5584 Coprocessor hooks can be called in the respective handlers (Ram) (Revision 1334560) Result = FAILURE ramkrishna : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/CreateTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/ModifyTableHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableAddFamilyHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableDeleteFamilyHandler.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/TableModifyFamilyHandler.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
        Hide
        Matteo Bertozzi added a comment -

        This change breaks the security build, since AccessController uses MasterObserver and not BaseMasterObserver.

        security/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java

        public class AccessController extends BaseRegionObserver
            implements BaseMasterObserver, AccessControllerProtocol {
        
        Show
        Matteo Bertozzi added a comment - This change breaks the security build, since AccessController uses MasterObserver and not BaseMasterObserver. security/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java public class AccessController extends BaseRegionObserver implements BaseMasterObserver, AccessControllerProtocol {
        Hide
        ramkrishna.s.vasudevan added a comment -

        I will prepare an addendum for the security branch. I waited till the TRUNK build complied and succeeded but did not check the SECURITY branch.

        Show
        ramkrishna.s.vasudevan added a comment - I will prepare an addendum for the security branch. I waited till the TRUNK build complied and succeeded but did not check the SECURITY branch.
        Hide
        ramkrishna.s.vasudevan added a comment -

        Update the addendum for SECURITY. Currently only dummy implementations have been given for the new apis as the existing preXXX and postXXX will do the actual validation of the operation like create, delete, etc.
        Let me know if it is ok so that i can commit it and make the SECURITY profile to compile?

        Show
        ramkrishna.s.vasudevan added a comment - Update the addendum for SECURITY. Currently only dummy implementations have been given for the new apis as the existing preXXX and postXXX will do the actual validation of the operation like create, delete, etc. Let me know if it is ok so that i can commit it and make the SECURITY profile to compile?
        Hide
        ramkrishna.s.vasudevan added a comment -

        Could some one review this? Needs to be committed so that SECURITY compiles?

        Show
        ramkrishna.s.vasudevan added a comment - Could some one review this? Needs to be committed so that SECURITY compiles?
        Hide
        Ted Yu added a comment -

        TestAccessController passes with addendum.

        +1 on addendum.

        Show
        Ted Yu added a comment - TestAccessController passes with addendum. +1 on addendum.
        Hide
        Ted Yu added a comment -

        It is very late in India.

        Addendum integrated to trunk so that people working on security-related code are unblocked.

        Thanks for the addendum, Ramkrishna.

        Show
        Ted Yu added a comment - It is very late in India. Addendum integrated to trunk so that people working on security-related code are unblocked. Thanks for the addendum, Ramkrishna.
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK-security #195 (See https://builds.apache.org/job/HBase-TRUNK-security/195/)
        HBASE-5584 Addendum fixes compilation error in AccessController (Ramkrishna) (Revision 1335226)

        Result = SUCCESS
        tedyu :
        Files :

        • /hbase/trunk/security/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK-security #195 (See https://builds.apache.org/job/HBase-TRUNK-security/195/ ) HBASE-5584 Addendum fixes compilation error in AccessController (Ramkrishna) (Revision 1335226) Result = SUCCESS tedyu : Files : /hbase/trunk/security/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2854 (See https://builds.apache.org/job/HBase-TRUNK/2854/)
        HBASE-5584 Addendum fixes compilation error in AccessController (Ramkrishna) (Revision 1335226)

        Result = FAILURE
        tedyu :
        Files :

        • /hbase/trunk/security/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2854 (See https://builds.apache.org/job/HBase-TRUNK/2854/ ) HBASE-5584 Addendum fixes compilation error in AccessController (Ramkrishna) (Revision 1335226) Result = FAILURE tedyu : Files : /hbase/trunk/security/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
        Hide
        stack added a comment -

        Marking closed.

        Show
        stack added a comment - Marking closed.

          People

          • Assignee:
            ramkrishna.s.vasudevan
            Reporter:
            ramkrishna.s.vasudevan
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development