[
https://issues.apache.org/jira/browse/HBASE-11520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14064094#comment-14064094
]
stack commented on HBASE-11520:
-------------------------------
Here is what happens if you set a bucketcache size > allocated direct memory:
{code}
2014-07-16 14:03:02,081 INFO [main] zookeeper.ZooKeeper: Initiating client
connection, connectString=c2020.halxg.cloudera.com:2181 sessionTimeout=90000
watcher=master:16020, quorum=c2020.halxg.cloudera.com:2181, baseZNode=/hbase
2014-07-16 14:03:02,309 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class
org.apache.hadoop.hbase.master.HMaster
at
org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:1796)
at
org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:194)
at
org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:139)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at
org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:1810)
Caused by: java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:658)
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123)
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:306)
at
org.apache.zookeeper.ClientCnxnSocket.<init>(ClientCnxnSocket.java:51)
at
org.apache.zookeeper.ClientCnxnSocketNIO.<init>(ClientCnxnSocketNIO.java:48)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at
org.apache.zookeeper.ZooKeeper.getClientCnxnSocket(ZooKeeper.java:1779)
at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:447)
at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:380)
at
org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.<init>(RecoverableZooKeeper.java:112)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.connect(ZKUtil.java:132)
at
org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:164)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:502)
at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:267)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at
org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:1791)
... 5 more
{code}
> Simplify offheap cache config by removing the confusing
> "hbase.bucketcache.percentage.in.combinedcache"
> -------------------------------------------------------------------------------------------------------
>
> Key: HBASE-11520
> URL: https://issues.apache.org/jira/browse/HBASE-11520
> Project: HBase
> Issue Type: Sub-task
> Components: io
> Affects Versions: 0.99.0
> Reporter: stack
> Assignee: stack
> Fix For: 0.99.0, 2.0.0
>
> Attachments: 11520.txt, 11520v2.txt, 11520v3.txt, 11520v3.txt
>
>
> Remove "hbase.bucketcache.percentage.in.combinedcache". It is unnecessary
> complication of block cache config. Let L1 config setup be as it is whether
> a L2 present or not, just set hfile.block.cache.size (not
> hbase.bucketcache.size * (1.0 -
> hbase.bucketcache.percentage.in.combinedcache)). For L2, let
> hbase.bucketcache.size be the actual size of the bucket cache, not
> hbase.bucketcache.size * hbase.bucketcache.percentage.in.combinedcache.
> Attached patch removes the config. and updates docs. Adds tests to confirm
> configs are as expected whether a CombinedBlockCache deploy or a strict L1+L2
> deploy.
--
This message was sent by Atlassian JIRA
(v6.2#6252)