[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-27 Thread Jonathan Hsieh (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15119947#comment-15119947
 ] 

Jonathan Hsieh commented on HBASE-15073:


The 1.x releases are supposed to be rock solid, and only ideally only add 
features that have gone through some bake time and hardening.  This concern was 
brought up with a long list of other features on previous versions as well -- 
for example, mob, distributed log reply, snapshots, and replication.  

I'm much for receptive to an argument for on by default in 2.x/master -- there 
new defaults and bigger changes are to be expected.


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s) (see 
> https://issues.apache.org/jira/browse/HBASE-13103?focusedCommentId=14366255=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14366255​),
>  it would be desirable to perform only one type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-22 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15113379#comment-15113379
 ] 

Ted Yu commented on HBASE-15073:


It has been uneventful 2 days where the number of regions for METRIC_RECORD 
table has been stable.

Nothing interesting showed up in AMS hbase master log.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s) (see 
> https://issues.apache.org/jira/browse/HBASE-13103?focusedCommentId=14366255=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14366255​),
>  it would be desirable to perform only one type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-20 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15109018#comment-15109018
 ] 

Ted Yu commented on HBASE-15073:


Here is table description where FIFO compaction and normalization are enabled:
{code}
'METRIC_RECORD', {TABLE_ATTRIBUTES => {NORMALIZATION_ENABLED => 'true', 
coprocessor$1 => 
'|org.apache.phoenix.coprocessor.ScanRegionObserver|805306366|', coprocessor$2 
=> 
'|org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver|805306366|', 
coprocessor$3 => 
'|org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver|805306366|', 
coprocessor$4 => 
'|org.apache.phoenix.coprocessor.ServerCachingEndpointImpl|805306366|', 
coprocessor$5 => 
'|org.apache.phoenix.hbase.index.Indexer|805306366|index.builder=org.apache.phoenix.index.PhoenixIndexBuilder,org.apache.hadoop.hbase.index.codec.class=org.apache.phoenix.index.PhoenixIndexCodec',
 CONFIGURATION => {'hbase.hstore.defaultengine.compactionpolicy.class' => 
'org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy', 
'hbase.hstore.blockingStoreFiles' => '1000'}}, {NAME => '0', 
DATA_BLOCK_ENCODING => 'FAST_DIFF', COMPRESSION => 'SNAPPY', TTL => '86400 
SECONDS (1 DAY)'}
{code}
Will be back with some results.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s) (see 
> https://issues.apache.org/jira/browse/HBASE-13103?focusedCommentId=14366255=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14366255​),
>  it would be desirable to perform only one type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-20 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15109400#comment-15109400
 ] 

Ted Yu commented on HBASE-15073:


With DEBUG logging on, I observed interleaving region splitting / merge 
operations.
e.g.
{code}
2016-01-20 13:09:48,432 INFO  
[perf-a-2.c.pramod-thangali.internal,61300,1453265375538_ChoreService_1] 
normalizer.SplitNormalizationPlan: Executing splitting normalization plan: 
SplitNormalizationPlan{regionInfo={ENCODED => be05e5ebc6d4c10a1df4846c654bb047, 
NAME => 
'METRIC_RECORD,bytes_out\x00perf-b-5.c.pramod-thangali.internal\x00\x00\x00\x01R#\xD8\x7F8HOST,1453267789291.be05e5ebc6d4c10a1df4846c654bb047.',
 STARTKEY => 
'bytes_out\x00perf-b-5.c.pramod-thangali.internal\x00\x00\x00\x01R#\xD8\x7F8HOST',
 ENDKEY => 
'cpu_intr\x00perf-c-386.c.pramod-thangali.internal\x00\x00\x00\x01RU\xBD;yHOST'},
 splitPoint=null}
...
2016-01-20 13:19:48,437 INFO  
[perf-a-2.c.pramod-thangali.internal,61300,1453265375538_ChoreService_1] 
normalizer.MergeNormalizationPlan: Executing merging normalization plan: 
MergeNormalizationPlan{firstRegion={ENCODED => 
0115dfae93a4974e09cea8acaa62e69b, NAME => 
'METRIC_RECORD,regionserver.Server.FlushTime_num_ops\x00perf-c-477.c.pramod-thangali.internal\x00\x00\x00\x01R\xF3dhbase,1452432082120.0115dfae93a4974e09cea8acaa62e69b.',
 STARTKEY => 
'regionserver.Server.FlushTime_num_ops\x00perf-c-477.c.pramod-thangali.internal\x00\x00\x00\x01R\xF3dhbase',
 ENDKEY => 
'regionserver.Server.Mutate_min\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'},
 secondRegion={ENCODED => be8228be1ed0cb686bbc5d6958c5c2f1, NAME => 
'METRIC_RECORD,regionserver.Server.Mutate_min\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,1452372244525.be8228be1ed0cb686bbc5d6958c5c2f1.',
 STARTKEY => 
'regionserver.Server.Mutate_min\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
 ENDKEY => 
'regionserver.Server.blockedRequestCount\x00perf-c-48.c.pramod-thangali.internal\x00\x00\x00\x01R!%\xA8=hbase'}}
{code}
So far the number of regions for METRIC_RECORD table is stable at 38 regions.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s) (see 
> https://issues.apache.org/jira/browse/HBASE-13103?focusedCommentId=14366255=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14366255​),
>  it would be desirable to perform only one type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-19 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15107767#comment-15107767
 ] 

Ted Yu commented on HBASE-15073:


I am doing more homework and regathering my thoughts so that I can objectively 
evaluate this initiative.

This involves understanding particular use case (AMS e.g.) more deeply.

Hopefully I can come back with better answer to review comments.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s) (see 
> https://issues.apache.org/jira/browse/HBASE-13103?focusedCommentId=14366255=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14366255​),
>  it would be desirable to perform only one type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-19 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15107901#comment-15107901
 ] 

Mikhail Antonov commented on HBASE-15073:
-

I don't know how many folks are running branch-1.2 builds under any realistic 
workloads, so I guess until 1.2 is out and people start to actually use it, we 
are unlikely to see reports from live clusters with highlights of shortcomings 
of current impl. So I think at the moment the implemented (and proposed) 
heuristics are assumptions, not battle-tested. Which kind of makes me wish to 
make it on by default in 1.2..

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s) (see 
> https://issues.apache.org/jira/browse/HBASE-13103?focusedCommentId=14366255=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14366255​),
>  it would be desirable to perform only one type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15105613#comment-15105613
 ] 

Ted Yu commented on HBASE-15073:


bq. why would I want the 'choice' of turning off splits?

The following description applies to time series data with FIFO compaction 
policy enforced (used by Ambari Metrics Server).

If a region continues to receive write requests, ultimately it would split - 
without intervention from normalizer.
On the other hand, if the region stops receiving new write request at some 
point, its size would stabilize. After TTL passes for all the HFiles in the 
region, FIFO compaction would make the region empty.
So there doesn't need to be split request sent from normalizer.
In fact, the split of regions not actively receiving writes increases the work 
in the future because there would be merge request(s) when such regions become 
empty after compaction policy kicks in.

I talked with an Ambari developer who is involved in development of Ambari 
Metrics Server and verified the above observation.

bq. where you turn normalization on and it just does the right thing 
autonomously

Letting region normalizer do the work autonomously is good but we're not there 
yet.
This finer grained control allows various use cases benefit from region 
normalizer given the current implementation.

Again, I am open to better naming of the normalization choices.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15105962#comment-15105962
 ] 

Enis Soztutar commented on HBASE-15073:
---

Maybe we can revert back to the normalization enabled, but also include two 
parameters like "hbase.normalization.split.enabled" and  
"hbase.normalization.merge.enabled" as advanced options. These still can be 
table level options. 

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15106015#comment-15106015
 ] 

stack commented on HBASE-15073:
---

-1 on this change. Revert it. It is rubbish. When a proper case is made, I'll 
change my vote. I can't make sense of the above (We split because region is 
big... later, because of TTL, region is empty so we merge ... but this 
'increases the work'... and "I talked with an Ambari dev". and again 
'various use cases' but none but the mangled one specified)

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15106179#comment-15106179
 ] 

Hudson commented on HBASE-15073:


SUCCESS: Integrated in HBase-1.3-IT #442 (See 
[https://builds.apache.org/job/HBase-1.3-IT/442/])
HBASE-15073 Revert due to different opinion on usefulness (tedyu: rev 
7a096ac6cb402f53a092362fb1aa25d2a31f38fa)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java
* hbase-shell/src/main/ruby/hbase/admin.rb
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15106236#comment-15106236
 ] 

stack commented on HBASE-15073:
---

bq. ...different opinion on usefulness...

No.

The -1 is because no case was made for why we need this feature. Usually folks 
show up w/ some numbers or a graph or some reasoning as to why something is 
needed. In here there is none of that; there is 'certain use cases' that go 
unspecified and then when pushed, some rambling about ambari metrics server 
with no timelines or measure of what is being addressed or fit criteria as to 
what would make ambari-case happy.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15106278#comment-15106278
 ] 

Hudson commented on HBASE-15073:


FAILURE: Integrated in HBase-1.2 #511 (See 
[https://builds.apache.org/job/HBase-1.2/511/])
HBASE-15073 Revert due to different opinion on usefulness (tedyu: rev 
5ff65455c60dbf56fc92630e75d93d7840dde537)
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* hbase-shell/src/main/ruby/hbase/admin.rb
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15106201#comment-15106201
 ] 

Hudson commented on HBASE-15073:


FAILURE: Integrated in HBase-1.2-IT #400 (See 
[https://builds.apache.org/job/HBase-1.2-IT/400/])
HBASE-15073 Revert due to different opinion on usefulness (tedyu: rev 
5ff65455c60dbf56fc92630e75d93d7840dde537)
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* hbase-shell/src/main/ruby/hbase/admin.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15106296#comment-15106296
 ] 

Hudson commented on HBASE-15073:


SUCCESS: Integrated in HBase-1.3 #500 (See 
[https://builds.apache.org/job/HBase-1.3/500/])
HBASE-15073 Revert due to different opinion on usefulness (tedyu: rev 
7a096ac6cb402f53a092362fb1aa25d2a31f38fa)
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* hbase-shell/src/main/ruby/hbase/admin.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15106400#comment-15106400
 ] 

Hudson commented on HBASE-15073:


FAILURE: Integrated in HBase-Trunk_matrix #642 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/642/])
HBASE-15073 Revert due to different opinion on usefulness (tedyu: rev 
eb17f74b9e45146a21584f44e7a811fedeee138f)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* hbase-shell/src/main/ruby/hbase/admin.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-16 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15103546#comment-15103546
 ] 

Ted Yu commented on HBASE-15073:


bq. certain use case(s)

One use case is for time series data where FIFO compaction policy is enforced. 
There would be regions whose data expires gradually and gets cleaned by the 
compaction policy, leaving empty regions behind.
Region normalizer would issue region merge requests for the empty regions so 
that the number of regions for the table is under control.
In the above scenario, region split request during normalization doesn't play 
as important a role as that for region merge. Therefore user has the choice of 
turning off region split (during normalization).

w.r.t. DESIRED_NORMALIZATION_TYPES, I don't see it in 
hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java 
(master branch, branch-1 or branch-1.2)
It has been dropped since it is not referenced.

bq. Users are going to see 'MS', 'M', and 'S' and are supposed to get split, 
merge, etc. from this?

Yes.
I am open to suggestion on better encoding for these two operations.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-16 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15103530#comment-15103530
 ] 

stack commented on HBASE-15073:
---

I'm trying to trace the new 'normalization' feature.

What is this about?

bq. However, for certain use case(s), it would be desirable to perform only one 
type of action.

A statement about 'cases' but no cases are provided.

Why do we need finer grained control? The point is that this is an ergonomic 
feature that lets the machine do it for you... if need admin intervention, then 
the feature is not working right... lets fix that. This issue seems to mangle 
the intent of 'normalization'.

Looking at patch I see a define: DESIRED_NORMALIZATION_TYPES  What does DESIRED 
mean? This is a datastore, not a beach at sunset...

Users are going to see 'MS', 'M', and 'S' and are supposed to get split, merge, 
etc. from this? That's not nice on our user.

I'm -1 on this thing till its explained why.  I think should revert from 1.2.  
Reopening.



> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-16 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15103608#comment-15103608
 ] 

stack commented on HBASE-15073:
---

bq. In the above scenario, region split request during normalization doesn't 
play as important a role as that for region merge. 

Sure.

bq. Therefore user has the choice of turning off region split (during 
normalization).

I don't follow. Would a split even be issued? The merge is keeping table 
regions tidy. And then why would I want the 'choice' of turning off splits?

This is all an intellectual exercise, right? Any evidence from a running 
cluster to backup need for finer grainer control?

Any other use cases other than this "If timeseries and if FIFO compaction and 
if the user wants to turn off splits."?

Users don't want choice. There is too much 'choice' in hbase already. They just 
want hbase to make the right choice. 

bq. I am open to suggestion on better encoding for these two operations.

I suggest just purging this pursuit of 'finer grained control' over 
normalization and instead try and go the other direction where you turn 
normalization on and it just does the right thing autonomously... then no need 
of this 'MS' or 'S' or 'M'... stuff.


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086090#comment-15086090
 ] 

Hadoop QA commented on HBASE-15073:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12780773/15073-v2.txt
  against master branch at commit 893a54c3a40e08b6f50d753fca01688f491893d0.
  ATTACHMENT ID: 12780773

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 6 new 
or modified tests.

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 
2.7.1)

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:red}-1 checkstyle{color}.  The applied patch generated 
new checkstyle errors. Check build console for list of new errors.

{color:green}+1 findbugs{color}.  The patch does not introduce any  new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

{color:green}+1 site{color}.  The mvn post-site goal succeeds with this 
patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

{color:green}+1 zombies{color}. No zombie tests found running at the end of 
the build.

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17147//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17147//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17147//artifact/patchprocess/checkstyle-aggregate.html

Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17147//console

This message is automatically generated.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086112#comment-15086112
 ] 

Mikhail Antonov commented on HBASE-15073:
-

I'd prefer to rename NORMALIZATION_ENABLED flag to something liek 
NORMALIZATION_MODE or something similar. _ENABLED suffix strongly implies 
boolean type, and using it for letter-encoded list of actions is confusing to 
me. It's not yet release so we can do that; after release, it won't be until 
2.0 we can change it, and likely even then there would be back pressure.

Style-wise I think it's better to return empty list rather than null from 
HTD#getDesiredNormalizationTypes().

Looks good otherwise.



> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086130#comment-15086130
 ] 

Ted Yu commented on HBASE-15073:


{code}
hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java   
NonEmptyAtclauseDescriptionCheck6   7
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java  
IndentationCheck17  19
{code}
HBaseAdmin.java was not touched by the patch, not sure why it showed up in the 
diff.

IndentationCheck warning would be covered by next patch.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15085812#comment-15085812
 ] 

Sean Busbey commented on HBASE-15073:
-

agreed that it's a good idea to get this new api straightened out before we 
release it. please try to get things settled prior to HBASE-14962 being done.

as an aside, do you happen to have the jira that introduced the feature handy? 
I don't recall seeing it in the list of things with release notes and want to 
confirm.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15085896#comment-15085896
 ] 

Ted Yu commented on HBASE-15073:


Linked this to HBASE-13103 where feature was first implemented

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086594#comment-15086594
 ] 

Hadoop QA commented on HBASE-15073:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12780833/15073-v5.txt
  against master branch at commit a9b671b31f07ade8968b42956aa60c722032dcc8.
  ATTACHMENT ID: 12780833

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 6 new 
or modified tests.

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 
2.7.1)

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:red}-1 checkstyle{color}.  The applied patch generated 
new checkstyle errors. Check build console for list of new errors.

{color:green}+1 findbugs{color}.  The patch does not introduce any  new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

{color:green}+1 site{color}.  The mvn post-site goal succeeds with this 
patch.

{color:red}-1 core tests{color}.  The patch failed these unit tests:
 

{color:green}+1 zombies{color}. No zombie tests found running at the end of 
the build.

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17152//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17152//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17152//artifact/patchprocess/checkstyle-aggregate.html

Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17152//console

This message is automatically generated.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086486#comment-15086486
 ] 

Hadoop QA commented on HBASE-15073:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12780826/15073-v4.txt
  against master branch at commit a9b671b31f07ade8968b42956aa60c722032dcc8.
  ATTACHMENT ID: 12780826

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 6 new 
or modified tests.

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 
2.7.1)

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}. The applied patch does not generate new 
checkstyle errors.

{color:green}+1 findbugs{color}.  The patch does not introduce any  new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

{color:green}+1 site{color}.  The mvn post-site goal succeeds with this 
patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

{color:green}+1 zombies{color}. No zombie tests found running at the end of 
the build.

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17150//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17150//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17150//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/17150//console

This message is automatically generated.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086674#comment-15086674
 ] 

Hudson commented on HBASE-15073:


SUCCESS: Integrated in HBase-1.3 #483 (See 
[https://builds.apache.org/job/HBase-1.3/483/])
HBASE-15073 Finer grained control over normalization actions for (tedyu: rev 
53983f5b2e88812ebb5a632ee363750194ed15cb)
* hbase-shell/src/main/ruby/hbase/admin.rb
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086618#comment-15086618
 ] 

Ted Yu commented on HBASE-15073:


{code}
Fetching https://builds.apache.org/job/PreCommit-HBASE-Build/17152/console
Printing hanging tests
Hanging test : org.apache.hadoop.hbase.regionserver.wal.TestWALReplay
Printing Failing tests
Failing test : org.apache.hadoop.hbase.TestAcidGuarantees
{code}
I don't think the above test failure were caused by patch v5 which was very 
close to patch v4 where unit test suite passed.
Ran the above two tests locally which also passed.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086670#comment-15086670
 ] 

Hudson commented on HBASE-15073:


SUCCESS: Integrated in HBase-1.2 #492 (See 
[https://builds.apache.org/job/HBase-1.2/492/])
HBASE-15073 Finer grained control over normalization actions for (tedyu: rev 
8b2ea16ba1ebd4731e1512085415d29037dcd7c3)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* hbase-shell/src/main/ruby/hbase/admin.rb
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086709#comment-15086709
 ] 

Hudson commented on HBASE-15073:


SUCCESS: Integrated in HBase-1.3-IT #423 (See 
[https://builds.apache.org/job/HBase-1.3-IT/423/])
HBASE-15073 Finer grained control over normalization actions for (tedyu: rev 
53983f5b2e88812ebb5a632ee363750194ed15cb)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java
* hbase-shell/src/main/ruby/hbase/admin.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086623#comment-15086623
 ] 

Ted Yu commented on HBASE-15073:


{code}
./dev-support/checkstyle_report.py trunkCheckstyle.xml patchCheckstyle.xml
hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java   
NonEmptyAtclauseDescriptionCheck6   7
{code}
Again, HBaseAdmin.java was not touched by patch v5.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086751#comment-15086751
 ] 

Hudson commented on HBASE-15073:


SUCCESS: Integrated in HBase-1.2-IT #381 (See 
[https://builds.apache.org/job/HBase-1.2-IT/381/])
HBASE-15073 Finer grained control over normalization actions for (tedyu: rev 
8b2ea16ba1ebd4731e1512085415d29037dcd7c3)
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/normalizer/NormalizationPlan.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java
* hbase-shell/src/main/ruby/shell/commands/normalize.rb
* hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
* hbase-shell/src/main/ruby/shell/commands/normalizer_switch.rb
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java
* hbase-shell/src/main/ruby/hbase/admin.rb


> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086231#comment-15086231
 ] 

Ted Yu commented on HBASE-15073:


HTD#setNormalizationEnabled() allows user to enable normalization without 
worrying about the encoding of types of action.

HTD#setNormalizationMode() is for advanced user.

What do you think ?

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086182#comment-15086182
 ] 

Mikhail Antonov commented on HBASE-15073:
-

Method is still named setNormalizationEnabled on HTD, I'd rename it to 
setNormalizationMode (and if getter is there, I'd rename it too). Also 
references in admin.rb, accordingly. LGTM otherwise!

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086356#comment-15086356
 ] 

Mikhail Antonov commented on HBASE-15073:
-

Looks good. +1 on v5.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt, 15073-v5.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-06 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15086239#comment-15086239
 ] 

Mikhail Antonov commented on HBASE-15073:
-

I think user who may access this API is already supposed to be advanced enough 
to know about split / merge normalization (provided there's javadoc for that). 
I don't think we should have 2 method for essentially the same thing, one for 
"less" advanced, one for "more" advanced user?

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>  Components: regionserver
>Reporter: Ted Yu
>Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 15073-v1.txt, 15073-v2.txt, 15073-v2.txt, 15073-v3.txt, 
> 15073-v4.txt
>
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-15073) Finer grained control over normalization actions for RegionNormalizer

2016-01-05 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15084950#comment-15084950
 ] 

Ted Yu commented on HBASE-15073:


w.r.t. option #1, extra work is placed on user to specify type(s) of actions.
We can interpret that the lack of this second flag means both split and merge 
are allowed.

Option #2 is not flexible in that the flag doesn't give per table control.

> Finer grained control over normalization actions for RegionNormalizer
> -
>
> Key: HBASE-15073
> URL: https://issues.apache.org/jira/browse/HBASE-15073
> Project: HBase
>  Issue Type: Task
>Reporter: Ted Yu
>Assignee: Ted Yu
>
> Currently both region split and merge actions are carried out during 
> normalization for underlying table.
> However, for certain use case(s), it would be desirable to perform only one 
> type of action.
> There is one boolean flag, keyed by NORMALIZATION_ENABLED_KEY, per table that 
> enables normalization.
> To provide finer grained control, we have several options:
> 1. introduce another per table flag to indicate which type(s) of actions are 
> allowed ("N" for disabled, "S" for split only, "M" for merge only and "MS" 
> for both split and merge)
> 2. introduce another global flag to indicate which type(s) of actions are 
> allowed
> 3. modify the meaning of existing flag keyed by NORMALIZATION_ENABLED_KEY so 
> that it indicates type(s) of actions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)