[
https://issues.apache.org/jira/browse/HBASE-9136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13773215#comment-13773215
]
Andrew Purtell commented on HBASE-9136:
---------------------------------------
In RpcClient you have this:
{code}
@@ -122,7 +122,9 @@ public class RpcClient {
protected final boolean tcpKeepAlive; // if T then use keepalives
protected int pingInterval; // how often sends ping to the server in msecs
protected FailedServers failedServers;
- private final Codec codec;
+ private final Codec localCodec;
+ //codec used by the server. Currently would be used from configuration
+ private final Codec remoteCodec;
private final CompressionCodec compressor;
private final IPCUtil ipcUtil;
{code}
But there is also a differentiation between local and remote codec on the
server:
{code}
@@ -1124,7 +1125,11 @@ public class RpcServer implements RpcServerInterface {
/**
* Codec the client asked use.
*/
- private Codec codec;
+ private Codec remoteCodec;
+ /**
+ * Codec the server is configured to use
+ */
+ private Codec localCodec;
/**
* Compression codec the client asked us use.
*/
{code}
Is the net effect to simply choose a different codec for client<->server
communication? Don't we only want to _substitute_ one codec implementation for
another on the server side?
See what Stack said: "I suppose you could add indirection so that when client
says KeyValueCodec, server instantiates ServerSideKeyValueCodec. Mapping could
be done in Configuration (there is a Configuration instance in the RpcServer
context)."
Might drop this part of the description of the new configuration parameter:
{code}
+ The codec can be updated if the server has to secure the tags
from
+ reaching the client
{code}
It's specific to one particular use.
> RPC side changes to have a different codec for server to client communication
> -----------------------------------------------------------------------------
>
> Key: HBASE-9136
> URL: https://issues.apache.org/jira/browse/HBASE-9136
> Project: HBase
> Issue Type: Sub-task
> Reporter: ramkrishna.s.vasudevan
> Assignee: ramkrishna.s.vasudevan
> Fix For: 0.98.0
>
> Attachments: HBASE-9136.patch
>
>
> With reference to the mail sent in the dev list,
> http://comments.gmane.org/gmane.comp.java.hadoop.hbase.devel/38984
> We should have a provision such that the codec on the server side could be
> different from the one on the client side. This would help to remove the
> tags for security usecases.
> This JIRA is aimed to provide that capability in the codec itself.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira