[ 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)