[
https://issues.apache.org/jira/browse/HBASE-17294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eshcar Hillel updated HBASE-17294:
----------------------------------
Release Note:
This patch provides a single external knob to control memstore compaction.
Possible memstore compaction policies are:
(1) None - no memory compaction, when size threshold is exceeded data is
flushed to disk
(2) Basic policy applies optimizations which modify the index to a more
compacted representation. This is beneficial in all access patterns. The
smaller the cells are the greater the benefit of this policy. This is the
default policy.
(3) Eager - in addition to compacting the index representation as the basic
policy, eager policy eliminates duplication while the data is still in memory
(much like the on-disk compaction does after the data is flushed to disk). This
policy is most useful for applications with high data churn or small working
sets.
Memory compaction policeman be set at the column family level at table creation
time:
{code}
create ‘<tablename>’,
{NAME => ‘<cfname>’,
IN_MEMORY_COMPACTION => ‘<NONE|BASIC|EAGER>’}
{code}
or as a property at the global configuration level by setting the property in
hbase-site.xml, with BASIC being the default value:
{code}
<property>
<name>hbase.hregion.compacting.memstore.type</name>
<value><NONE|BASIC|EAGER></value>
</property>
{code}
The values used in this property can change as memstore compaction policies
evolve over time.
> External Configuration for Memory Compaction
> ---------------------------------------------
>
> Key: HBASE-17294
> URL: https://issues.apache.org/jira/browse/HBASE-17294
> Project: HBase
> Issue Type: Sub-task
> Reporter: Eshcar Hillel
> Assignee: Eshcar Hillel
> Fix For: 2.0.0
>
> Attachments: HBASE-17294-V01.patch, HBASE-17294-V02.patch,
> HBASE-17294-V03.patch
>
>
> We would like to have a single external knob to control memstore compaction.
> Possible memstore compaction policies are none, basic, and eager.
> This sub-task allows to set this property at the column family level at table
> creation time:
> {code}
> create ‘<tablename>’,
> {NAME => ‘<cfname>’,
> IN_MEMORY_COMPACTION => ‘<NONE|BASIC|EAGER>’}
> {code}
> or to set this at the global configuration level by setting the property in
> hbase-site.xml, with BASIC being the default value:
> {code}
> <property>
> <name>hbase.hregion.compacting.memstore.type</name>
> <value><NONE|BASIC|EAGER></value>
> </property>
> {code}
> The values used in this property can change as memstore compaction policies
> evolve over time.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)