hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19505) Disable ByteBufferPool by default at HM
Date Fri, 15 Dec 2017 00:20:00 GMT

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

Mime
View raw message