[
https://issues.apache.org/jira/browse/HBASE-4554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123315#comment-13123315
]
Mingjie Lai commented on HBASE-4554:
------------------------------------
@Ted. I changed the title so this jira only deals with cp related htd
attributes (no more arbitrary). I still prefer to utilizing the existing
table_att method so we can add/change multiple attributes at one time.
{code}
alter 't1', METHOD => 'table_att', 'COPROCESSOR$1' => 'cp1', 'COPROCESSOR$2' =>
'cp2'
{code}
Code change would be something like:
{code}
--- a/src/main/ruby/hbase/admin.rb
+++ b/src/main/ruby/hbase/admin.rb
@@ -359,6 +359,16 @@ module Hbase
htd.setReadOnly(JBoolean.valueOf(arg[READONLY])) if arg[READONLY]
htd.setMemStoreFlushSize(JLong.valueOf(arg[MEMSTORE_FLUSHSIZE])) if
arg[MEMSTORE_FLUSHSIZE]
htd.setDeferredLogFlush(JBoolean.valueOf(arg[DEFERRED_LOG_FLUSH])) if
arg[DEFERRED_LOG_FLUSH]
+
+ # set a coprocessor attribute
+ if arg.kind_of?(Hash)
+ arg.each do |key, value|
+ k = String.new(key) # prepare to strip
+ k.strip!
+ htd.setValue(k, value) if (k =~ /coprocessor\$[0-9]*/i)
+ end
+ end
+
{code}
> Allow set/unset coprocessor table attributes from shell.
> --------------------------------------------------------
>
> Key: HBASE-4554
> URL: https://issues.apache.org/jira/browse/HBASE-4554
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors
> Reporter: Mingjie Lai
> Assignee: Mingjie Lai
> Fix For: 0.92.0
>
>
> Table/region level coprocessor -- RegionObserver -- can be configured by
> setting a HTD's attribute which matches Coprocessor$*.
> Current shell -- alter -- cannot support to set/unset a table's arbitrary
> attribute. We need it in order to configure region level coprocessors to a
> table.
> Proposed new shell:
> {code}
> hbase shell > alter 't1', METHOD => 'table_att', COPROCESSOR$1 =>
> 'hdfs://cp/foo.jar|org.apache.hadoop.hbase.sample|1|'
> hbase shell > describe 't1'
> {NAME => 't1', COPROCESSOR$1 =>
> 'hdfs://cp/foo.jar|org.apache.hadoop.hbase.sample|1|', MAX_FILESIZE =>
> '134217728', ...}
> hbase shell > alter 't1', METHOD => 'table_att_unset', COPROCESSOR$1
> hbase shell > describe 't1'
> {NAME => 't1', MAX_FILESIZE => '134217728', ...}
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira