碰到一个问题 java.lang.OutOfMemoryError: Requested array size exceeds VM limit,怎么回事?


我们的hbase(0.98.6-cdh5.3.2),网上查了下,
1.client的scan问题
    我想请教下,client 发起的scan,是不是要扫描所有包括历史版本的数据,然后放到数组里面,然后再根据设的filter 进行过滤返回给客户端
    我再想,如果是这样,如果我的表的数据量比较大而且kv比较多的话,这样这个数组的长度就有可能超过int.max_value,从而引起 上面的问题,
    不知道这样理解正常么
2.怀疑compact引起的
     想请问下,compact过程中会牵扯到大的数组操作么

已邀请:

libis - HBase爱好者

赞同来自:

qgxiaozhan

赞同来自:

我遇到过,http://www.jianshu.com/p/546b0f20179e 这个是我一个总结,oom是HBase的一个bug,但是出现这么大的数组也有可能是因为使用问题,例如我遇到的两种情况,批量的size很大,单个key很大,希望对你有用。

要回复问题请先登录注册