[
https://issues.apache.org/jira/browse/HBASE-17294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15743225#comment-15743225
]
stack commented on HBASE-17294:
-------------------------------
Hey [~eshcar]. On the patch:
HColumnDescriptor is a public-facing class. The enums in MemoryCompaction and
the new methods need javadoc. This will be where operators configure Accordion
so needs a bit of heft I'd say, more than is here.
Its ok removing these defines because they have not been part of a release yet?
56 // Configuration options for MemStore compaction
57 static final String INDEX_COMPACTION_CONFIG = "index-compaction";
58 static final String DATA_COMPACTION_CONFIG = "data-compaction";
59
60 // The external setting of the compacting MemStore behaviour
61 // Compaction of the index without the data is the default
62 static final String COMPACTING_MEMSTORE_TYPE_KEY =
"hbase.hregion.compacting.memstore.type";
63 static final String COMPACTING_MEMSTORE_TYPE_DEFAULT =
INDEX_COMPACTION_CONFIG;
Should the String.valueOf(BASIC) in the below be
COMPACTING_MEMSTORE_TYPE_DEFAULT?
277 String compType = compactingMemStore.getConfiguration().get(
278 CompactingMemStore.COMPACTING_MEMSTORE_TYPE_KEY,
279 String.valueOf(BASIC));
Yeah, no to * imports. We don't do that.
You don't want to take arg here?
378 if(opts.inMemoryCompaction) {
379 family.setInMemoryCompaction(true); 379
family.setInMemoryCompaction(HColumnDescriptor.MemoryCompaction.BASIC);
380 } 380 }
381 desc.addFamily(family); 381 de
... i.e. let user set NONE, BASIC, EAGER? Would help testing the options.
On setting NONE in tests, is that because test fail otherwise? Would be cool to
parameterize tests so they ran three times -- NONE, BASIC, and EAGER -- but
that can be another issue.
I haven't tried it but does allow me set any of the three options from the
shell?
family.setInMemoryCompaction(
819
JBoolean.valueOf(arg.delete(org.apache.hadoop.hbase.HColumnDescriptor::IN_MEMORY_COMPACTION)))
if
arg.include?(org.apache.hadoop.hbase.HColumnDescriptor::IN_MEMORY_COMPACTION)
819
org.apache.hadoop.hbase.HColumnDescriptor.MemoryCompaction.valueOf(arg.delete(org.apache.hadoop.hbase.HColumnDescriptor::IN_MEMORY_COMPACTION)))
if
arg.include?(org.apache.hadoop.hbase.HColumnDescriptor::IN_MEMORY_COMPACTION)
... or do you need to add some new defines?
Thanks [~eshcar]
> 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
> Attachments: HBASE-17294-V01.patch, HBASE-17294-V02.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)