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

stack commented on HBASE-19505:
-------------------------------

Patch looks good.

TestRegionsOnMasterOptions is the test that tries each of the master 
configuration options.

Param passed to NettyRpcServer should be a boolean named enableResevoir, not 
'noMaster'. RPC don't know anything about Master nor should it. 

Could this check be done up in HMaster and result passed to RpcServer in 
enableResevoir?

321       private boolean isReservoirEnabled(Configuration conf, boolean 
onMaster) {
322         boolean defaultEnabled = true;
323         if (onMaster) {
324           // RpcServer at HM by default enable ByteBufferPool iff HM having 
user table region in it
325           defaultEnabled = LoadBalancer.isTablesOnMaster(conf)
326               && !LoadBalancer.isSystemTablesOnlyOnMaster(conf);
327         }
328         return conf.getBoolean(RESERVOIR_ENABLED_KEY, defaultEnabled);
329       }

RPCServer shouldn't have balancer or master refs?

Master is subclass of 1203        protected RpcServerInterface 
createRpcServer(Server server, Configuration conf,
1204          RpcSchedulerFactory rpcSchedulerFactory, InetSocketAddress 
bindAddress, String name)
1205          throws IOException {
1206        try {
1207          return RpcServerFactory.createRpcServer(server, name, 
getServices(),
1208              bindAddress, // use final bindAddress for this server.
1209              conf, rpcSchedulerFactory.create(conf, this, server), false);
1210        } catch (BindException be) {
1211          throw new IOException(be.getMessage() + ". To switch ports use 
the '"
1212              + HConstants.REGIONSERVER_PORT + "' configuration property.",
1213              be.getCause() != null ? be.getCause() : be);
1214        }
1215      }

... so just take a param and have master figure if it should enable resevoir 
and pass in boolean result only so rpc doesn't have to know about master or 
balancer, etc. or repro logic that we have up in HMaster?

Otherwise, patch is great.



> Disable ByteBufferPool by default at HM
> ---------------------------------------
>
>                 Key: HBASE-19505
>                 URL: https://issues.apache.org/jira/browse/HBASE-19505
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-19505.patch, HBASE-19505_V2.patch
>
>
> The main usage of the pool is while accepting bigger sized requests ie. 
> Mutation requests. HM do not have any regions by default.  So we can make 
> this pool OFF in HM side. Still add a config to turn this ON.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to