[
https://issues.apache.org/jira/browse/HBASE-16195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yu Li updated HBASE-16195:
--------------------------
Attachment: HBASE-16195_v4.patch
bq. What if we limit and need to add one more entry into Q? It will be
problematic as we will not return back that chunk to pool when that MSLAB is
closed right?
The chunk pool maxsize is limited to a percent of {{globalMemStorePercent}},
and if there're more elements in the Q than the pool maxsize, there'll be
reference of un-reclaimable chunk left in Q. I think such kind of reference of
a useless chunk is dangerous and will potentially cause memory leak. If the Q
is full, I think we should directly abandon new entry rather than adding into Q
since the entry is not reclaimable anyway.
The new patch will set the Q length to pool maxsize and do necessary Q cleanup
in {{MemStoreChunkPool#putbackChunks}}, will also cover this in the newly-added
UT case. Please let me know whether this looks good to you [~anoop.hbase],
thanks.
> Should not add chunk into chunkQueue if not using chunk pool in
> HeapMemStoreLAB
> -------------------------------------------------------------------------------
>
> Key: HBASE-16195
> URL: https://issues.apache.org/jira/browse/HBASE-16195
> Project: HBase
> Issue Type: Sub-task
> Reporter: Yu Li
> Assignee: Yu Li
> Attachments: HBASE-16195.patch, HBASE-16195_v2.patch,
> HBASE-16195_v3.patch, HBASE-16195_v4.patch
>
>
> Problem description and analysis please refer to HBASE-16193
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)