You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Gary Helmling (JIRA)" <ji...@apache.org> on 2011/09/17 00:51:09 UTC
[jira] [Created] (HBASE-4425) Provide access to RpcServer instance
from RegionServerServices
Provide access to RpcServer instance from RegionServerServices
--------------------------------------------------------------
Key: HBASE-4425
URL: https://issues.apache.org/jira/browse/HBASE-4425
Project: HBase
Issue Type: Improvement
Components: coprocessors, regionserver
Reporter: Gary Helmling
In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
So I propose we add access to the RpcServer in RegionServerServices:
{code}
/**
* Returns a reference to the region server's RPC server
*/
public RpcServer getRpcServer();
{code}
We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-4425) Provide access to RpcServer instance
from RegionServerServices
Posted by "Gary Helmling (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Helmling updated HBASE-4425:
---------------------------------
Attachment: HBASE-4425.patch
Patch adding access to getRpcServer() to RegionServerServices.
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
> Attachments: HBASE-4425.patch
>
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4425) Provide access to RpcServer
instance from RegionServerServices
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106913#comment-13106913 ]
stack commented on HBASE-4425:
------------------------------
+1
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
> Attachments: HBASE-4425.patch, HBASE-4425_2.patch
>
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4425) Provide access to RpcServer
instance from RegionServerServices
Posted by "Gary Helmling (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106897#comment-13106897 ]
Gary Helmling commented on HBASE-4425:
--------------------------------------
Whoops, yes, let me update.
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
> Attachments: HBASE-4425.patch
>
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4425) Provide access to RpcServer
instance from RegionServerServices
Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106896#comment-13106896 ]
Andrew Purtell commented on HBASE-4425:
---------------------------------------
I thought you were going to drop RegionServerServices.getRpcMetrics()?
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
> Attachments: HBASE-4425.patch
>
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4425) Provide access to RpcServer
instance from RegionServerServices
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13107004#comment-13107004 ]
Hudson commented on HBASE-4425:
-------------------------------
Integrated in HBase-TRUNK #2224 (See [https://builds.apache.org/job/HBase-TRUNK/2224/])
HBASE-4425 Provide access to RpcServer in RegionServerServices
garyh :
Files :
* /hbase/trunk/CHANGES.txt
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/handler/MockRegionServerServices.java
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
> Assignee: Gary Helmling
> Fix For: 0.92.0
>
> Attachments: HBASE-4425.patch, HBASE-4425_2.patch
>
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (HBASE-4425) Provide access to RpcServer instance
from RegionServerServices
Posted by "Gary Helmling (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Helmling resolved HBASE-4425.
----------------------------------
Resolution: Fixed
Fix Version/s: 0.92.0
Assignee: Gary Helmling
Hadoop Flags: [Reviewed]
Committed to trunk. Thanks for review, Stack and Andy.
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
> Assignee: Gary Helmling
> Fix For: 0.92.0
>
> Attachments: HBASE-4425.patch, HBASE-4425_2.patch
>
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-4425) Provide access to RpcServer instance
from RegionServerServices
Posted by "Gary Helmling (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Helmling updated HBASE-4425:
---------------------------------
Attachment: HBASE-4425_2.patch
Updated patch that also removes getRpcMetrics() from RSS, since it can now be accessed through RpcServer.
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
> Attachments: HBASE-4425.patch, HBASE-4425_2.patch
>
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4425) Provide access to RpcServer
instance from RegionServerServices
Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106891#comment-13106891 ]
Andrew Purtell commented on HBASE-4425:
---------------------------------------
+1
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4425) Provide access to RpcServer
instance from RegionServerServices
Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106916#comment-13106916 ]
Andrew Purtell commented on HBASE-4425:
---------------------------------------
+1
> Provide access to RpcServer instance from RegionServerServices
> --------------------------------------------------------------
>
> Key: HBASE-4425
> URL: https://issues.apache.org/jira/browse/HBASE-4425
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors, regionserver
> Reporter: Gary Helmling
> Attachments: HBASE-4425.patch, HBASE-4425_2.patch
>
>
> In some cases, RegionObserver coprocessors may want to directly access the running RpcServer instance on the region server. For token based authentication, for example, this is needed for a coprocessor to interact with the SecretManager that validates authentication tokens in the secure RPC engine. With the addition of async call handling on the server-side, this becomes additionally important if coprocessors want to send back delayed responses to clients. In this case, the coprocessor would need to be able to call RpcServer.getCurrentCall() to send back the response.
> So I propose we add access to the RpcServer in RegionServerServices:
> {code}
> /**
> * Returns a reference to the region server's RPC server
> */
> public RpcServer getRpcServer();
> {code}
> We can simultaneously drop the existing RegionServerServices.getRpcMetrics() method, since this could then be accessed via RpcServer.getRpcMetrics().
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira