hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15198) RPC client not using Codec and CellBlock for puts by default
Date Thu, 11 Feb 2016 14:13:18 GMT

    [ https://issues.apache.org/jira/browse/HBASE-15198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15142774#comment-15142774
] 

Hudson commented on HBASE-15198:
--------------------------------

FAILURE: Integrated in HBase-1.1-JDK7 #1659 (See [https://builds.apache.org/job/HBase-1.1-JDK7/1659/])
HBASE-15198 RPC client not using Codec and CellBlock for puts by (anoopsamjohn: rev bd11ae58bf05996952d960fbe3cbf743f1d781e5)
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionAdapter.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClusterConnection.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java


> RPC client not using Codec and CellBlock for puts by default
> ------------------------------------------------------------
>
>                 Key: HBASE-15198
>                 URL: https://issues.apache.org/jira/browse/HBASE-15198
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.0
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>            Priority: Critical
>             Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.4, 1.0.4, 0.98.18
>
>         Attachments: HBASE-15198-0.98.patch, HBASE-15198-0.98.patch, HBASE-15198-branch-1.0.patch,
HBASE-15198-branch-1.1.patch, HBASE-15198-branch-1.patch, HBASE-15198.patch, HBASE-15198_V2.patch,
HBASE-15198_V3.patch, HBASE-15198_V4.patch, HBASE-15198_V5.patch, HBASE-15198_V6.patch, HBASE-15198_V6.patch
>
>
> For puts we use MultiServerCallable. Here to decide whether to use cellBlock we have
> {code}
> private boolean isCellBlock() {
>     // This is not exact -- the configuration could have changed on us after connection
was set up
>     // but it will do for now.
>     HConnection connection = getConnection();
>     if (connection == null) return true; // Default is to do cellblocks.
>     Configuration configuration = connection.getConfiguration();
>     if (configuration == null) return true;
>     String codec = configuration.get(HConstants.RPC_CODEC_CONF_KEY, "");
>     return codec != null && codec.length() > 0;
>   }
> {code}
> By default in hbase-default.xml, we dont have any Codec being specified.
> Where as in AbstractRpcClient we have
> {code}
> Codec getCodec() {
>     // For NO CODEC, "hbase.client.rpc.codec" must be configured with empty string AND
>     // "hbase.client.default.rpc.codec" also -- because default is to do cell block encoding.
>     String className = conf.get(HConstants.RPC_CODEC_CONF_KEY, getDefaultCodec(this.conf));
>     if (className == null || className.length() == 0) return null;
>     try {
>       return (Codec)Class.forName(className).newInstance();
>     } catch (Exception e) {
>       throw new RuntimeException("Failed getting codec " + className, e);
>     }
>   }
> .....
> public static String getDefaultCodec(final Configuration c) {
>     // If "hbase.client.default.rpc.codec" is empty string -- you can't set it to null
because
>     // Configuration will complain -- then no default codec (and we'll pb everything).
 Else
>     // default is KeyValueCodec
>     return c.get(DEFAULT_CODEC_CLASS, KeyValueCodec.class.getCanonicalName());
>   }
> {code}
> Our aim is to by def use Codec and it is KeyValueCodec.  
> The codec finding in MultiServerCallable to be same way as in AbstractRpcClient and then
only we will be doing cellblock stuff.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message