[jira] [Commented] (HBASE-22040) Add mergeRegionsAsync with a List of region names method in AsyncAdmin

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-22040:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
12s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 2 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
23s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
13s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  2m 
42s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
51s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
29s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  3m 
36s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
53s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
15s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
 6s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  2m 
46s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  2m 
46s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
34s{color} | {color:green} hbase-client: The patch generated 0 new + 140 
unchanged - 4 fixed = 140 total (was 144) {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
18s{color} | {color:green} hbase-server: The patch generated 0 new + 48 
unchanged - 2 fixed = 48 total (was 50) {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
32s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green}  
8m 50s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 
or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  4m  
7s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
53s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  3m 
14s{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red}155m 28s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
50s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}205m 59s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b |
| JIRA Issue | HBASE-22040 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12962680/HBASE-22040-v3.patch |
| Optional Tests |  dupname  asflicense  javac  javadoc  unit  findbugs  
shadedjars  hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux 067fcc4d9cd3 4.4.0-139-generic #165~14.04.1-Ubuntu SMP Wed Oct 
31 10:55:11 UTC 2018 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 

[jira] [Commented] (HBASE-22052) pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove redunant version specifications

2019-03-15 Thread stack (JIRA)


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

stack commented on HBASE-22052:
---

2.0.003 Fix the UT. Had to do similar exclusions in hbase-rest as done in 
hbase-it.

> pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove 
> redunant version specifications
> ---
>
> Key: HBASE-22052
> URL: https://issues.apache.org/jira/browse/HBASE-22052
> Project: HBase
>  Issue Type: Task
>Reporter: stack
>Assignee: stack
>Priority: Major
> Attachments: HBASE-22052.branch-2.0.001.patch, 
> HBASE-22052.branch-2.0.002.patch, HBASE-22052.branch-2.0.002.patch, 
> HBASE-22052.branch-2.0.003.patch
>
>
> Working on HBASE-22029, where we fail compile of hbase-it module four hours 
> into an RC build, it looks like transitive include of jersey-core is the 
> culprit. hadoop3 profile does a bunch of jersey-core exclusions. This issue 
> is about having hadoop2 profile and hadoop3 profiles match around jersey-core 
> treatment. Some miscellaneous cleanups are also done.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22052) pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove redunant version specifications

2019-03-15 Thread stack (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-22052:
--
Attachment: HBASE-22052.branch-2.0.003.patch

> pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove 
> redunant version specifications
> ---
>
> Key: HBASE-22052
> URL: https://issues.apache.org/jira/browse/HBASE-22052
> Project: HBase
>  Issue Type: Task
>Reporter: stack
>Assignee: stack
>Priority: Major
> Attachments: HBASE-22052.branch-2.0.001.patch, 
> HBASE-22052.branch-2.0.002.patch, HBASE-22052.branch-2.0.002.patch, 
> HBASE-22052.branch-2.0.003.patch
>
>
> Working on HBASE-22029, where we fail compile of hbase-it module four hours 
> into an RC build, it looks like transitive include of jersey-core is the 
> culprit. hadoop3 profile does a bunch of jersey-core exclusions. This issue 
> is about having hadoop2 profile and hadoop3 profiles match around jersey-core 
> treatment. Some miscellaneous cleanups are also done.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22051) Expect values are hard-coded in the verifications of TestRSGroupsBasics

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-22051:
---

| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
13s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  5m 
27s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
44s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
14s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  5m 
14s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  0m 
48s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
21s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
30s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
45s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
45s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
13s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 1s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  5m 
 2s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
10m 13s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.7.4 or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
23s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
26s{color} | {color:green} hbase-rsgroup in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
10s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 38m  8s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b |
| JIRA Issue | HBASE-22051 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12962685/HBASE-22051.master.000.patch
 |
| Optional Tests |  dupname  asflicense  javac  javadoc  unit  findbugs  
shadedjars  hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux 3d42b7c7b154 4.4.0-138-generic #164~14.04.1-Ubuntu SMP Fri Oct 
5 08:56:16 UTC 2018 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / f1ebbb928b |
| maven | version: Apache Maven 3.5.4 
(1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) |
| Default Java | 1.8.0_181 |
| findbugs | v3.1.11 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16397/testReport/ |
| Max. process+thread count | 4071 (vs. ulimit of 1) |
| modules | C: hbase-rsgroup U: hbase-rsgroup |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16397/console |
| Powered by | Apache Yetus 0.8.0   http://yetus.apache.org |


This message was automatically generated.



> Expect values 

[jira] [Comment Edited] (HBASE-22029) RESTApiClusterManager.java:[250,48] cannot find symbol in hbase-it

2019-03-15 Thread stack (JIRA)


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

stack edited comment on HBASE-22029 at 3/16/19 5:22 AM:


Yeah, HBASE-22052  will fix this.  jersey-core is problematic. It was 
transitively included from hadoop and polluting our CLASSPATH with an 
implementation of a 1.x version of the javax.ws.rs.core.Response Interface from 
jsr311-api when we want the javax.ws.rs-api 2.x version. Unfortunately, the 
soln. was not simple -- a purge of jersey-core -- because w/o it some mr unit 
tests fail. See gore over in HBASE-22052 .


was (Author: stack):
Yeah, HBASE-22029 will fix this.  jersey-core is problematic. It was 
transitively included from hadoop and polluting our CLASSPATH with an 
implementation of a 1.x version of the javax.ws.rs.core.Response Interface from 
jsr311-api when we want the javax.ws.rs-api 2.x version. Unfortunately, the 
soln. was not simple -- a purge of jersey-core -- because w/o it some mr unit 
tests fail. See gore over in HBASE-22029.

> RESTApiClusterManager.java:[250,48] cannot find symbol in hbase-it
> --
>
> Key: HBASE-22029
> URL: https://issues.apache.org/jira/browse/HBASE-22029
> Project: HBase
>  Issue Type: Sub-task
>Reporter: stack
>Priority: Major
>
> I get this doing a RM build. Can't repro elsewhere.
> Picking up an old jaxrs? See 
> https://stackoverflow.com/questions/34679773/extract-string-from-javax-response
> Let me try adding explicit dependency.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21926) Profiler servlet

2019-03-15 Thread Sean Busbey (JIRA)


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

Sean Busbey commented on HBASE-21926:
-

I won't have time to make my desired changes until early next week earliest. 
$dayjob priorities changed for this last week.

bq. I'm going to ignore further ImportOrder checkstyle warnings, because it 
doesn't seem to matter where the import is placed, there is still a warning. 
Tired of guessing what is the right answer. As this is the only checkstyle 
warning the patch looks good IMHO.

FWIW, there's supposed to be both an IDE formatter config and a write up 
somewhere explaining the current configuration. [we define 3 import 
"groups"|https://github.com/apache/hbase/blob/master/hbase-checkstyle/src/main/resources/hbase/checkstyle.xml#L71].
 which I think means imports should be "things that aren't thirdparty/shaded 
first in alpha order", followed by "thirdparty in alpha order", followed by 
"shaded in alpha order".

If I understand the config correctly, in ProfileServlet this line should be 
after all of the other imports:
{code}
34  import org.apache.hbase.thirdparty.com.google.common.base.Joiner;
{code}
and in ProcessUtils this line should be before the slf4j imports
{code}
27  import org.apache.yetus.audience.InterfaceAudience;
{code}

> Profiler servlet
> 
>
> Key: HBASE-21926
> URL: https://issues.apache.org/jira/browse/HBASE-21926
> Project: HBase
>  Issue Type: New Feature
>  Components: master, Operability, regionserver
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.3.0
>
> Attachments: 1.png, 2.png, 3.png, 4.png, HBASE-21926-branch-1.patch, 
> HBASE-21926-branch-1.patch, HBASE-21926-branch-1.patch, HBASE-21926.patch, 
> HBASE-21926.patch, HBASE-21926.patch
>
>
> HIVE-20202 describes how Hive added a web endpoint for online in production 
> profiling based on async-profiler. The endpoint was added as a servlet to 
> httpserver and supports retrieval of flamegraphs compiled from the profiler 
> trace. Async profiler 
> ([https://github.com/jvm-profiling-tools/async-profiler] ) can also profile 
> heap allocations, lock contention, and HW performance counters in addition to 
> CPU.
> The profiling overhead is pretty low and is safe to run in production. The 
> async-profiler project measured and describes CPU and memory overheads on 
> these issues: 
> [https://github.com/jvm-profiling-tools/async-profiler/issues/14] and 
> [https://github.com/jvm-profiling-tools/async-profiler/issues/131] 
> We have an httpserver based servlet stack so we can use HIVE-20202 as an 
> implementation template for a similar feature for HBase daemons. Ideally we 
> achieve these requirements:
>  * Retrieve flamegraph SVG generated from latest profile trace.
>  * Online enable and disable of profiling activity. (async-profiler does not 
> do instrumentation based profiling so this should not cause the code gen 
> related perf problems of that other approach and can be safely toggled on and 
> off while under production load.)
>  * CPU profiling.
>  * ALLOCATION profiling.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22032) KeyValue validation should check for null byte array

2019-03-15 Thread Hudson (JIRA)


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

Hudson commented on HBASE-22032:


Results for branch branch-2.1
[build #961 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/961/]: 
(/) *{color:green}+1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/961//General_Nightly_Build_Report/]




(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/961//JDK8_Nightly_Build_Report_(Hadoop2)/]


(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/961//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> KeyValue validation should check for null byte array
> 
>
> Key: HBASE-22032
> URL: https://issues.apache.org/jira/browse/HBASE-22032
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 3.0.0, 2.0.4, 2.1.3
>Reporter: Geoffrey Jacoby
>Assignee: Geoffrey Jacoby
>Priority: Major
> Fix For: 3.0.0, 2.1.4, 2.2.1
>
> Attachments: HBASE-22032.v01.patch, HBASE-22032.v02.patch, 
> HBASE-22032.v03.patch
>
>
> HBASE-21401 added some nice validation checks to throw precise errors if a 
> KeyValue is constructed using invalid parameters. However it implicitly 
> assumes that the KeyValue buffer is not null. It should validate this 
> assumption and alert accordingly rather than throwing an NPE from an 
> unrelated check. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22021) A small refactoring for NettyServerCall.sendResponseIfReady

2019-03-15 Thread Zheng Wang (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zheng Wang updated HBASE-22021:
---
Status: Open  (was: Patch Available)

> A small refactoring for NettyServerCall.sendResponseIfReady
> ---
>
> Key: HBASE-22021
> URL: https://issues.apache.org/jira/browse/HBASE-22021
> Project: HBase
>  Issue Type: Improvement
>  Components: rpc
>Reporter: Zheng Wang
>Assignee: Zheng Wang
>Priority: Trivial
>  Labels: starter
>
> before:
> connection.channel.writeAndFlush(this);
>  
> after:
> connection.doRespond(this);



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22051 at 3/16/19 3:50 AM:
---

Uploaded patch v000. The logic change of it includes
* 3 places mentioned in the "description", to remove the hard-coded 
verification and use variables instead.
* More strict verifications at the end of testClearNotProcessedDeadServer().

The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup"
* Add or correct some comments.

[~xucang], would you please review it at your convenience?


was (Author: water):
Uploaded patch v000. The logic change of it includes
* 3 places mentioned in the "description", to remove the hard-coded 
verification and use variables instead.
* More strict verifications at the end of testClearNotProcessedDeadServer().
The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup"
* Add or correct some comments.

[~xucang], would you please review it at your convenience?

> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-22034:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 14m 
37s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
1s{color} | {color:blue} Findbugs executables are not available. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 4 new or modified test 
files. {color} |
|| || || || {color:brown} branch-1 Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
16s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
41s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
47s{color} | {color:green} branch-1 passed with JDK v1.8.0_202 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
52s{color} | {color:green} branch-1 passed with JDK v1.7.0_211 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
38s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  2m 
25s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
38s{color} | {color:green} branch-1 passed with JDK v1.8.0_202 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
56s{color} | {color:green} branch-1 passed with JDK v1.7.0_211 {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
12s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
35s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
48s{color} | {color:green} the patch passed with JDK v1.8.0_202 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
48s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed with JDK v1.7.0_211 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red}  0m 
26s{color} | {color:red} hbase-common: The patch generated 1 new + 240 
unchanged - 8 fixed = 241 total (was 248) {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
14s{color} | {color:green} hbase-server: The patch generated 0 new + 16 
unchanged - 4 fixed = 16 total (was 20) {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  2m 
26s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green}  
1m 35s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.7.4. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
42s{color} | {color:green} the patch passed with JDK v1.8.0_202 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
56s{color} | {color:green} the patch passed with JDK v1.7.0_211 {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
31s{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red}110m 38s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
37s{color} | {color:green} The patch does not 

[jira] [Comment Edited] (HBASE-22051) Expect values are hard-coded in the verifications of TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22051 at 3/16/19 3:58 AM:
---

Uploaded patch v000. The logic change of it includes
* 3 places mentioned in the "description", to remove the hard-coded 
verification and use variables instead.
* More strict verifications at the end of testClearNotProcessedDeadServer().

The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup".
* Add or correct some comments.

[~xucang], would you please review it at your convenience?


was (Author: water):
Uploaded patch v000. The logic change of it includes
* 3 places mentioned in the "description", to remove the hard-coded 
verification and use variables instead.
* More strict verifications at the end of testClearNotProcessedDeadServer().

The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup"
* Add or correct some comments.

[~xucang], would you please review it at your convenience?

> Expect values are hard-coded in the verifications of TestRSGroupsBasics
> ---
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22051.master.000.patch
>
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect values are hard-coded in the verifications of TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Status: Patch Available  (was: Open)

> Expect values are hard-coded in the verifications of TestRSGroupsBasics
> ---
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22051.master.000.patch
>
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect values are hard-coded in the verifications of TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Attachment: HBASE-22051.master.000.patch

> Expect values are hard-coded in the verifications of TestRSGroupsBasics
> ---
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22051.master.000.patch
>
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect values are hard-coded in the verifications of TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Summary: Expect values are hard-coded in the verifications of 
TestRSGroupsBasics  (was: Expect values are hard-coded in TestRSGroupsBasics)

> Expect values are hard-coded in the verifications of TestRSGroupsBasics
> ---
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect values are hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Summary: Expect values are hard-coded in TestRSGroupsBasics  (was: Expect 
value is hard-coded in TestRSGroupsBasics)

> Expect values are hard-coded in TestRSGroupsBasics
> --
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22051 at 3/16/19 3:50 AM:
---

Uploaded patch v000. The logic change of it includes
* 3 places mentioned in the "description", to remove the hard-coded 
verification and use variables instead.
* More strict verifications at the end of testClearNotProcessedDeadServer().
The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup"
* Add or correct some comments.

[~xucang], would you please review it at your convenience?


was (Author: water):
Uploaded patch v000. The logic change of it includes the 3 places mentioned in 
the "description", to remove the hard-coded verification and use variables 
instead.
The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup"
* Add or correct some comments

[~xucang], would you please review it at your convenience?

> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22051 at 3/16/19 3:36 AM:
---

Uploaded patch v000. The logic change of it includes the 3 places mentioned in 
the "description", to remove the hard-coded verification and use variables 
instead.
The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup"
* Add or correct some comments

[~xucang], would you please review it at your convenience?


was (Author: water):
Uploaded patch v000. The logic change of it includes the 3 places mentioned in 
the "description", to remove the hard-coded verification and use the variables 
instead.
The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup"
* Add or correct some comments

[~xucang], would you please review it at your convenience?

> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li commented on HBASE-22051:
--

Uploaded patch v000. The logic change of it includes the 3 places mentioned in 
the "description", to remove the hard-coded verification and use the variables 
instead.
The patches also make some changes to improve the readability:
* Rename some variables, like "targetServer" --> "serverToStop", "appInfo" --> 
"deadServerGroup"
* Add or correct some comments

[~xucang], would you please review it at your convenience?

> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Description: 
In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
mini cluster. But in some verifications of TestGroupsBasics, such as in 
testBasicStartUp(), the expected value is hard-coded as 4, like:
{code:java}
public void testBasicStartUp() throws IOException {
  ...
  assertEquals(4, defaultInfo.getServers().size());
  ..
}
{code}

We could also some other places which have hard-coded verifications, as follow: 
{code:java}
public void testClearDeadServers() throws Exception {
  ...
  final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 3);
  ...
  assertEquals(2, newGroupServers.size());
{code}
and
{code:java}
public void testClearNotProcessedDeadServer() throws Exception {
  ...
  RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
  ...
  assertEquals(1, notClearedServers.size());
{code}

  was:
In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
mini cluster. But in some verifications of TestGroupsBasics, such as in 
testBasicStartUp(), the expected value is hard-coded as 4, like:
{code:java}
public void testBasicStartUp() throws IOException {
  ...
  assertEquals(4, defaultInfo.getServers().size());
  ..
}
{code}

We could also see some hard-coded verifications, as follow: 
{code:java}
public void testClearDeadServers() throws Exception {
  ...
  final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 3);
  ...
  assertEquals(2, newGroupServers.size());
{code}
and
{code:java}
public void testClearNotProcessedDeadServer() throws Exception {
  ...
  RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
  ...
  assertEquals(1, notClearedServers.size());
{code}


> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also some other places which have hard-coded verifications, as 
> follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Description: 
In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
mini cluster. But in some verifications of TestGroupsBasics, such as in 
testBasicStartUp(), the expected value is hard-coded as 4, like:
{code:java}
public void testBasicStartUp() throws IOException {
  ...
  assertEquals(4, defaultInfo.getServers().size());
  ..
}
{code}

We could also see some hard-coded verifications, as follow: 
{code:java}
public void testClearDeadServers() throws Exception {
  ...
  final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 3);
  ...
  assertEquals(2, newGroupServers.size());
{code}
and
{code:java}
public void testClearNotProcessedDeadServer() throws Exception {
  ...
  RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
  ...
  assertEquals(1, notClearedServers.size());
{code}

  was:
In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
mini cluster. But in some verifications of TestGroupsBasics, such as in 
testBasicStartUp(), the expected value is hard-coded as 4, like:
{code:java}
public void testBasicStartUp() throws IOException {
  ...
  assertEquals(4, defaultInfo.getServers().size());
  ..
}
{code}
and 
{code:java}
public void testClearDeadServers() throws Exception {
  ...
  final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 3);
  ...
  assertEquals(2, newGroupServers.size());
{code}
and
{code:java}
public void testClearNotProcessedDeadServer() throws Exception {
  ...
  RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
  ...
  assertEquals(1, notClearedServers.size());
{code}


> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> We could also see some hard-coded verifications, as follow: 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Description: 
In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
mini cluster. But in some verifications of TestGroupsBasics, such as in 
testBasicStartUp(), the expected value is hard-coded as 4, like:
{code:java}
public void testBasicStartUp() throws IOException {
  ...
  assertEquals(4, defaultInfo.getServers().size());
  ..
}
{code}
and 
{code:java}
public void testClearDeadServers() throws Exception {
  ...
  final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 3);
  ...
  assertEquals(2, newGroupServers.size());
{code}
and
{code:java}
public void testClearNotProcessedDeadServer() throws Exception {
  ...
  RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
  ...
  assertEquals(1, notClearedServers.size());
{code}

  was:
In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
mini cluster. But in some verifications of TestGroupsBasics, such as in 
testBasicStartUp(), the expected value is hard-coded as 4, like:
{code:java}
public void testBasicStartUp() throws IOException {
  ...
  assertEquals(4, defaultInfo.getServers().size());
  ..
}
{code}


> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}
> and 
> {code:java}
> public void testClearDeadServers() throws Exception {
>   ...
>   final RSGroupInfo newGroup = addGroup(getGroupName(name.getMethodName()), 
> 3);
>   ...
>   assertEquals(2, newGroupServers.size());
> {code}
> and
> {code:java}
> public void testClearNotProcessedDeadServer() throws Exception {
>   ...
>   RSGroupInfo appInfo = addGroup("deadServerGroup", 1);
>   ...
>   assertEquals(1, notClearedServers.size());
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22040) Add mergeRegionsAsync with a List of region names method in AsyncAdmin

2019-03-15 Thread Duo Zhang (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-22040:
--
Attachment: HBASE-22040-branch-2.patch

> Add mergeRegionsAsync with a List of region names method in AsyncAdmin
> --
>
> Key: HBASE-22040
> URL: https://issues.apache.org/jira/browse/HBASE-22040
> Project: HBase
>  Issue Type: Sub-task
>  Components: Admin, asyncclient, Client
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 3.0.0, 2.2.0, 2.3.0
>
> Attachments: HBASE-22040-branch-2.patch, HBASE-22040-v1.patch, 
> HBASE-22040-v2.patch, HBASE-22040-v3.patch, HBASE-22040.patch
>
>
> Although we only support merging two regions until now, but the rpc protocol 
> does support passing more than two regions to master.
> So I think we should provide the methods, but need to add comments to say 
> that for now we only support merging two regions so do not try to pass more 
> than two regions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22040) Add mergeRegionsAsync with a List of region names method in AsyncAdmin

2019-03-15 Thread Duo Zhang (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-22040:
--
Attachment: HBASE-22040-v3.patch

> Add mergeRegionsAsync with a List of region names method in AsyncAdmin
> --
>
> Key: HBASE-22040
> URL: https://issues.apache.org/jira/browse/HBASE-22040
> Project: HBase
>  Issue Type: Sub-task
>  Components: Admin, asyncclient, Client
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 3.0.0, 2.2.0, 2.3.0
>
> Attachments: HBASE-22040-v1.patch, HBASE-22040-v2.patch, 
> HBASE-22040-v3.patch, HBASE-22040.patch
>
>
> Although we only support merging two regions until now, but the rpc protocol 
> does support passing more than two regions to master.
> So I think we should provide the methods, but need to add comments to say 
> that for now we only support merging two regions so do not try to pass more 
> than two regions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22039) Should add the synchronous parameter for the XXXSwitch method in AsyncAdmin

2019-03-15 Thread Duo Zhang (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-22039:
--
  Resolution: Fixed
Hadoop Flags: Reviewed
  Status: Resolved  (was: Patch Available)

Pushed to branch-2.2+.

Thanks [~openinx] for reviewing.

> Should add the synchronous parameter for the XXXSwitch method in AsyncAdmin
> ---
>
> Key: HBASE-22039
> URL: https://issues.apache.org/jira/browse/HBASE-22039
> Project: HBase
>  Issue Type: Sub-task
>  Components: Admin, asyncclient, Client
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 3.0.0, 2.2.0, 2.3.0
>
> Attachments: HBASE-22039-v1.patch, HBASE-22039-v1.patch, 
> HBASE-22039-v1.patch, HBASE-22039.patch
>
>
> For now we always pass true to HMaster, maybe the decision is that user just 
> do not need to calling get on the returned Future if it wants asynchronous.
> But the problem here is that, the return value is not void, it is a boolean, 
> which is the previous state of the flag, sometimes users do not need to wait 
> until the previous transitions or split/merge to complete, but they still 
> want to get the previous value of the flag.
> So we still need to provide the synchronous parameter.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22039) Should add the synchronous parameter for the XXXSwitch method in AsyncAdmin

2019-03-15 Thread Duo Zhang (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-22039:
--
Release Note: Add drainXXX parameter for 
balancerSwitch/splitSwitch/mergeSwitch methods in the AsyncAdmin interface, 
which has the same meaning with the synchronous parameter for these methods in 
the Admin interface.

> Should add the synchronous parameter for the XXXSwitch method in AsyncAdmin
> ---
>
> Key: HBASE-22039
> URL: https://issues.apache.org/jira/browse/HBASE-22039
> Project: HBase
>  Issue Type: Sub-task
>  Components: Admin, asyncclient, Client
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 3.0.0, 2.2.0, 2.3.0
>
> Attachments: HBASE-22039-v1.patch, HBASE-22039-v1.patch, 
> HBASE-22039-v1.patch, HBASE-22039.patch
>
>
> For now we always pass true to HMaster, maybe the decision is that user just 
> do not need to calling get on the returned Future if it wants asynchronous.
> But the problem here is that, the return value is not void, it is a boolean, 
> which is the previous state of the flag, sometimes users do not need to wait 
> until the previous transitions or split/merge to complete, but they still 
> want to get the previous value of the flag.
> So we still need to provide the synchronous parameter.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22042) Missing @Override annotation for RawAsyncTableImpl.scan

2019-03-15 Thread Duo Zhang (JIRA)


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

Duo Zhang commented on HBASE-22042:
---

Thanks [~rishjain]. Will commit soon.

> Missing @Override annotation for RawAsyncTableImpl.scan
> ---
>
> Key: HBASE-22042
> URL: https://issues.apache.org/jira/browse/HBASE-22042
> Project: HBase
>  Issue Type: Task
>  Components: asyncclient, Client
>Reporter: Duo Zhang
>Assignee: Rishabh Jain
>Priority: Major
>  Labels: beginner, trivial
> Attachments: HBASE-22042.patch
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22042) Missing @Override annotation for RawAsyncTableImpl.scan

2019-03-15 Thread Duo Zhang (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22042?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-22042:
--
Labels: beginner trivial  (was: beginner)

> Missing @Override annotation for RawAsyncTableImpl.scan
> ---
>
> Key: HBASE-22042
> URL: https://issues.apache.org/jira/browse/HBASE-22042
> Project: HBase
>  Issue Type: Task
>  Components: asyncclient, Client
>Reporter: Duo Zhang
>Assignee: Rishabh Jain
>Priority: Major
>  Labels: beginner, trivial
> Attachments: HBASE-22042.patch
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Duo Zhang (JIRA)


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

Duo Zhang commented on HBASE-21895:
---

[~apurtell] I'm not sure how a separated repo works but I believe it will not 
be much different with a sub module? And it will be easy to break the tie, 
where we should not run error prone check on the hbase-error-prone module as it 
will introduce cyclic dependency...

Anyway, seems there is no customized checks for now? We can try it later when 
we actually have some customized checks in the future...

Thanks.

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
> Attachments: HBASE-21895.master.001.patch
>
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Duo Zhang (JIRA)


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

Duo Zhang commented on HBASE-21895:
---

{quote}

{quote}

Good, this is exactly what I missed before. After upgrading to the new error 
prone version, it keeps telling me unknown compiler flags...

And the compile is also failed? Now we enable error prone by default after the 
patch?

Thanks.

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
> Attachments: HBASE-21895.master.001.patch
>
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Description: 
In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
mini cluster. But in some verifications of TestGroupsBasics, such as in 
testBasicStartUp(), the expected value is hard-coded as 4, like:
{code:java}
public void testBasicStartUp() throws IOException {
  ...
  assertEquals(4, defaultInfo.getServers().size());
  ..
}
{code}

> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>
> In TestRSGroupsBase, we have NUM_SLAVES_BASE = 4, which is used to launch the 
> mini cluster. But in some verifications of TestGroupsBasics, such as in 
> testBasicStartUp(), the expected value is hard-coded as 4, like:
> {code:java}
> public void testBasicStartUp() throws IOException {
>   ...
>   assertEquals(4, defaultInfo.getServers().size());
>   ..
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Expect value is hard-coded in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
Summary: Expect value is hard-coded in TestRSGroupsBasics  (was: Remove the 
hardcoded expect value in TestRSGroupsBasics)

> Expect value is hard-coded in TestRSGroupsBasics
> 
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22021) A small refactoring for NettyServerCall.sendResponseIfReady

2019-03-15 Thread Zheng Wang (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zheng Wang updated HBASE-22021:
---
Attachment: (was: HBASE-22021.patch)

> A small refactoring for NettyServerCall.sendResponseIfReady
> ---
>
> Key: HBASE-22021
> URL: https://issues.apache.org/jira/browse/HBASE-22021
> Project: HBase
>  Issue Type: Improvement
>  Components: rpc
>Reporter: Zheng Wang
>Assignee: Zheng Wang
>Priority: Trivial
>  Labels: starter
>
> before:
> connection.channel.writeAndFlush(this);
>  
> after:
> connection.doRespond(this);



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-21895:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
22s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:orange}-0{color} | {color:orange} test4tests {color} | {color:orange}  
0m  0s{color} | {color:orange} The patch doesn't appear to include any new or 
modified tests. Please justify why no new tests are needed for this patch. Also 
please list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
22s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  3m 
50s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  5m 
22s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
58s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
 6s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
0s{color} | {color:blue} Skipped patched modules with no Java source: 
hbase-build-support hbase-build-configuration . {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
42s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  3m 
10s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
12s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  3m 
41s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} compile {color} | {color:red}  4m  
8s{color} | {color:red} root in the patch failed. {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  4m  8s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  2m 
 1s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} xml {color} | {color:green}  0m  
4s{color} | {color:green} The patch has no ill-formed XML file. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
 5s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green}  
7m 55s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 
or 3.0.0. {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
0s{color} | {color:blue} Skipped patched modules with no Java source: 
hbase-build-configuration . {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
30s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  2m 
53s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}279m  2s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
52s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}330m  7s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | 
hadoop.hbase.master.procedure.TestSCPWithReplicasWithoutZKCoordinated |
|   | hadoop.hbase.master.procedure.TestSCPWithReplicas |
|   | hadoop.hbase.client.TestAdmin1 |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce 

[jira] [Commented] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-22034:


Updated patch for checkstyle and javadoc warnings

> Backport HBASE-21401 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
> Attachments: HBASE-22034-branch-1.patch, HBASE-22034-branch-1.patch
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-22034:
---
Attachment: HBASE-22034-branch-1.patch

> Backport HBASE-21401 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
> Attachments: HBASE-22034-branch-1.patch, HBASE-22034-branch-1.patch
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-22034:


Great, I munged some files so now I own their checkstyle and javadoc problems. 
:-/

> Backport HBASE-21401 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
> Attachments: HBASE-22034-branch-1.patch
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-22034:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
18s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
2s{color} | {color:blue} Findbugs executables are not available. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 4 new or modified test 
files. {color} |
|| || || || {color:brown} branch-1 Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
18s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  2m 
 4s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
11s{color} | {color:green} branch-1 passed with JDK v1.8.0_202 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
6s{color} | {color:green} branch-1 passed with JDK v1.7.0_211 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  2m 
 2s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  3m 
 6s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
51s{color} | {color:green} branch-1 passed with JDK v1.8.0_202 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m  
6s{color} | {color:green} branch-1 passed with JDK v1.7.0_211 {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
15s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
55s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
5s{color} | {color:green} the patch passed with JDK v1.8.0_202 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m  
5s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
6s{color} | {color:green} the patch passed with JDK v1.7.0_211 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m  
6s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red}  0m 
31s{color} | {color:red} hbase-common: The patch generated 20 new + 240 
unchanged - 8 fixed = 260 total (was 248) {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
34s{color} | {color:green} hbase-server: The patch generated 0 new + 16 
unchanged - 4 fixed = 16 total (was 20) {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  3m 
 7s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green}  
1m 49s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.7.4. {color} |
| {color:red}-1{color} | {color:red} javadoc {color} | {color:red}  0m 
19s{color} | {color:red} hbase-common-jdk1.8.0_202 with JDK v1.8.0_202 
generated 2 new + 1 unchanged - 0 fixed = 3 total (was 1) {color} |
| {color:red}-1{color} | {color:red} javadoc {color} | {color:red}  0m 
21s{color} | {color:red} hbase-common-jdk1.7.0_211 with JDK v1.7.0_211 
generated 2 new + 5 unchanged - 0 fixed = 7 total (was 5) {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
33s{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}117m 
45s{color} | {color:green} hbase-server in the patch passed. {color} |
| 

[jira] [Commented] (HBASE-20662) Increasing space quota on a violated table does not remove SpaceViolationPolicy.DISABLE enforcement

2019-03-15 Thread Hudson (JIRA)


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

Hudson commented on HBASE-20662:


Results for branch branch-2
[build #1753 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1753/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1753//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1753//JDK8_Nightly_Build_Report_(Hadoop2)/]


(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1753//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Increasing space quota on a violated table does not remove 
> SpaceViolationPolicy.DISABLE enforcement
> ---
>
> Key: HBASE-20662
> URL: https://issues.apache.org/jira/browse/HBASE-20662
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 3.0.0, 2.0.0
>Reporter: Nihal Jain
>Assignee: Nihal Jain
>Priority: Major
> Fix For: 3.0.0, 2.2.0
>
> Attachments: HBASE-20662.master.001.patch, 
> HBASE-20662.master.002.patch, HBASE-20662.master.003.patch, 
> HBASE-20662.master.004.patch, HBASE-20662.master.004.patch, 
> HBASE-20662.master.005.patch, HBASE-20662.master.006.patch, 
> HBASE-20662.master.007.patch, HBASE-20662.master.008.patch, 
> HBASE-20662.master.008.patch, HBASE-20662.master.009.patch, 
> HBASE-20662.master.009.patch, HBASE-20662.master.010.patch, screenshot.png
>
>
> *Steps to reproduce*
>  * Create a table and set quota with {{SpaceViolationPolicy.DISABLE}} having 
> limit say 2MB
>  * Now put rows until space quota is violated and table gets disabled
>  * Next, increase space quota with limit say 4MB on the table
>  * Now try putting a row into the table
> {code:java}
>  private void testSetQuotaThenViolateAndFinallyIncreaseQuota() throws 
> Exception {
> SpaceViolationPolicy policy = SpaceViolationPolicy.DISABLE;
> Put put = new Put(Bytes.toBytes("to_reject"));
> put.addColumn(Bytes.toBytes(SpaceQuotaHelperForTests.F1), 
> Bytes.toBytes("to"),
>   Bytes.toBytes("reject"));
> // Do puts until we violate space policy
> final TableName tn = writeUntilViolationAndVerifyViolation(policy, put);
> // Now, increase limit
> setQuotaLimit(tn, policy, 4L);
> // Put some row now: should not violate as quota limit increased
> verifyNoViolation(policy, tn, put);
>   }
> {code}
> *Expected*
> We should be able to put data as long as newly set quota limit is not reached
> *Actual*
> We fail to put any new row even after increasing limit
> *Root cause*
> Increasing quota on a violated table triggers the table to be enabled, but 
> since the table is already in violation, the system does not allow it to be 
> enabled (may be thinking that a user is trying to enable it)
> *Relevant exception trace*
> {noformat}
> 2018-05-31 00:34:27,563 INFO  [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> client.HBaseAdmin$14(844): Started enable of 
> testSetQuotaAndThenIncreaseQuotaWithDisable0
> 2018-05-31 00:34:27,571 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=42525] 
> ipc.CallRunner(142): callId: 11 service: MasterService methodName: 
> EnableTable size: 104 connection: 127.0.0.1:38030 deadline: 1527707127568, 
> exception=org.apache.hadoop.hbase.security.AccessDeniedException: Enabling 
> the table 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to 
> a violated space quota.
> 2018-05-31 00:34:27,571 ERROR [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> quotas.RegionServerSpaceQuotaManager(210): Failed to disable space violation 
> policy for testSetQuotaAndThenIncreaseQuotaWithDisable0. This table will 
> remain in violation.
> org.apache.hadoop.hbase.security.AccessDeniedException: 
> org.apache.hadoop.hbase.security.AccessDeniedException: Enabling the table 
> 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to a 
> violated space quota.
>   at org.apache.hadoop.hbase.master.HMaster$6.run(HMaster.java:2275)
>   at 
> org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
>   at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:2258)
>   at 
> 

[jira] [Commented] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-22034:


branch-1 patch posted to reviewboard as https://reviews.apache.org/r/70220/

> Backport HBASE-21401 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
> Attachments: HBASE-22034-branch-1.patch
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-22034:
---
Attachment: HBASE-22034-branch-1.patch

> Backport HBASE-21401 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
> Attachments: HBASE-22034-branch-1.patch
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-22034:
---
Status: Patch Available  (was: Open)

> Backport HBASE-21401 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
> Attachments: HBASE-22034-branch-1.patch
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Kevin Risden (JIRA)


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

Kevin Risden edited comment on HBASE-21895 at 3/15/19 7:53 PM:
---

Put up a patch that upgrades errorprone and simplifies a bit (removes custom 
rule holder since not used currently). Running with "mvn clean verify 
-DskipTests -PerrorProne" yields at least one error: 
{code:java}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) 
on project hbase-procedure: Compilation failure
[ERROR] 
/Users/krisden/repos/apache/hbase/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java:[63,19]
 error: [EqualsHashCode] Classes that override equals should also override 
hashCode.
[ERROR] (see https://errorprone.info/bugpattern/EqualsHashCode)
{code}
I did not fix failures only made sure that errorProne profile ran. I could go 
through and fix the errors identified just wanted to keep the initial patch 
simple.


was (Author: risdenk):
Put up a patch that upgrades errorprone and simplifies a bit. Running with "mvn 
clean verify -DskipTests -PerrorProne" yields at least one error:

 
{code:java}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) 
on project hbase-procedure: Compilation failure
[ERROR] 
/Users/krisden/repos/apache/hbase/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java:[63,19]
 error: [EqualsHashCode] Classes that override equals should also override 
hashCode.
[ERROR] (see https://errorprone.info/bugpattern/EqualsHashCode)
{code}
I did not fix failures only made sure that errorProne profile ran.

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
> Attachments: HBASE-21895.master.001.patch
>
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Kevin Risden (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-21895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Risden updated HBASE-21895:
-
Status: Patch Available  (was: Open)

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
> Attachments: HBASE-21895.master.001.patch
>
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Kevin Risden (JIRA)


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

Kevin Risden edited comment on HBASE-21895 at 3/15/19 7:55 PM:
---

Put up a patch that upgrades errorprone and simplifies a bit (removes custom 
rule holder since not used currently). Running with "mvn clean verify 
-DskipTests -PerrorProne" before the patch on master does not stop the build on 
any errors. After the patch "mvn clean verify -DskipTests -PerrorProne" yields 
at least one error: 
{code:java}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) 
on project hbase-procedure: Compilation failure
[ERROR] 
/Users/krisden/repos/apache/hbase/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java:[63,19]
 error: [EqualsHashCode] Classes that override equals should also override 
hashCode.
[ERROR] (see https://errorprone.info/bugpattern/EqualsHashCode)
{code}
I did not fix failures only made sure that errorProne profile ran. I could go 
through and fix the errors identified just wanted to keep the initial patch 
simple.


was (Author: risdenk):
Put up a patch that upgrades errorprone and simplifies a bit (removes custom 
rule holder since not used currently). Running with "mvn clean verify 
-DskipTests -PerrorProne" yields at least one error: 
{code:java}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) 
on project hbase-procedure: Compilation failure
[ERROR] 
/Users/krisden/repos/apache/hbase/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java:[63,19]
 error: [EqualsHashCode] Classes that override equals should also override 
hashCode.
[ERROR] (see https://errorprone.info/bugpattern/EqualsHashCode)
{code}
I did not fix failures only made sure that errorProne profile ran. I could go 
through and fix the errors identified just wanted to keep the initial patch 
simple.

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
> Attachments: HBASE-21895.master.001.patch
>
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-22034:
---
Summary: Backport HBASE-21401 and HBASE-22032 to branch-1  (was: Backport 
HBASE-21404 and HBASE-22032 to branch-1)

> Backport HBASE-21401 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22032) KeyValue validation should check for null byte array

2019-03-15 Thread Andrew Purtell (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22032?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-22032:
---
   Resolution: Fixed
 Hadoop Flags: Reviewed
Fix Version/s: 2.2.1
   2.1.4
   3.0.0
   Status: Resolved  (was: Patch Available)

> KeyValue validation should check for null byte array
> 
>
> Key: HBASE-22032
> URL: https://issues.apache.org/jira/browse/HBASE-22032
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 3.0.0, 2.0.4, 2.1.3
>Reporter: Geoffrey Jacoby
>Assignee: Geoffrey Jacoby
>Priority: Major
> Fix For: 3.0.0, 2.1.4, 2.2.1
>
> Attachments: HBASE-22032.v01.patch, HBASE-22032.v02.patch, 
> HBASE-22032.v03.patch
>
>
> HBASE-21401 added some nice validation checks to throw precise errors if a 
> KeyValue is constructed using invalid parameters. However it implicitly 
> assumes that the KeyValue buffer is not null. It should validate this 
> assumption and alert accordingly rather than throwing an NPE from an 
> unrelated check. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Kevin Risden (JIRA)


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

Kevin Risden commented on HBASE-21895:
--

Put up a patch that upgrades errorprone and simplifies a bit. Running with "mvn 
clean verify -DskipTests -PerrorProne" yields at least one error:

 
{code:java}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) 
on project hbase-procedure: Compilation failure
[ERROR] 
/Users/krisden/repos/apache/hbase/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java:[63,19]
 error: [EqualsHashCode] Classes that override equals should also override 
hashCode.
[ERROR] (see https://errorprone.info/bugpattern/EqualsHashCode)
{code}
I did not fix failures only made sure that errorProne profile ran.

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
> Attachments: HBASE-21895.master.001.patch
>
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Kevin Risden (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-21895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Risden updated HBASE-21895:
-
Attachment: HBASE-21895.master.001.patch

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
> Attachments: HBASE-21895.master.001.patch
>
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20662) Increasing space quota on a violated table does not remove SpaceViolationPolicy.DISABLE enforcement

2019-03-15 Thread Nihal Jain (JIRA)


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

Nihal Jain commented on HBASE-20662:


Thanks for the review Josh. I willdefinitely submit a patch soon. And regarding 
parameterized class, I had done that in  [^HBASE-20662.master.002.patch] 
itself. Later reverted it for later, citing too much code to review. Will work 
on that since this one is commited now. :)

> Increasing space quota on a violated table does not remove 
> SpaceViolationPolicy.DISABLE enforcement
> ---
>
> Key: HBASE-20662
> URL: https://issues.apache.org/jira/browse/HBASE-20662
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 3.0.0, 2.0.0
>Reporter: Nihal Jain
>Assignee: Nihal Jain
>Priority: Major
> Fix For: 3.0.0, 2.2.0
>
> Attachments: HBASE-20662.master.001.patch, 
> HBASE-20662.master.002.patch, HBASE-20662.master.003.patch, 
> HBASE-20662.master.004.patch, HBASE-20662.master.004.patch, 
> HBASE-20662.master.005.patch, HBASE-20662.master.006.patch, 
> HBASE-20662.master.007.patch, HBASE-20662.master.008.patch, 
> HBASE-20662.master.008.patch, HBASE-20662.master.009.patch, 
> HBASE-20662.master.009.patch, HBASE-20662.master.010.patch, screenshot.png
>
>
> *Steps to reproduce*
>  * Create a table and set quota with {{SpaceViolationPolicy.DISABLE}} having 
> limit say 2MB
>  * Now put rows until space quota is violated and table gets disabled
>  * Next, increase space quota with limit say 4MB on the table
>  * Now try putting a row into the table
> {code:java}
>  private void testSetQuotaThenViolateAndFinallyIncreaseQuota() throws 
> Exception {
> SpaceViolationPolicy policy = SpaceViolationPolicy.DISABLE;
> Put put = new Put(Bytes.toBytes("to_reject"));
> put.addColumn(Bytes.toBytes(SpaceQuotaHelperForTests.F1), 
> Bytes.toBytes("to"),
>   Bytes.toBytes("reject"));
> // Do puts until we violate space policy
> final TableName tn = writeUntilViolationAndVerifyViolation(policy, put);
> // Now, increase limit
> setQuotaLimit(tn, policy, 4L);
> // Put some row now: should not violate as quota limit increased
> verifyNoViolation(policy, tn, put);
>   }
> {code}
> *Expected*
> We should be able to put data as long as newly set quota limit is not reached
> *Actual*
> We fail to put any new row even after increasing limit
> *Root cause*
> Increasing quota on a violated table triggers the table to be enabled, but 
> since the table is already in violation, the system does not allow it to be 
> enabled (may be thinking that a user is trying to enable it)
> *Relevant exception trace*
> {noformat}
> 2018-05-31 00:34:27,563 INFO  [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> client.HBaseAdmin$14(844): Started enable of 
> testSetQuotaAndThenIncreaseQuotaWithDisable0
> 2018-05-31 00:34:27,571 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=42525] 
> ipc.CallRunner(142): callId: 11 service: MasterService methodName: 
> EnableTable size: 104 connection: 127.0.0.1:38030 deadline: 1527707127568, 
> exception=org.apache.hadoop.hbase.security.AccessDeniedException: Enabling 
> the table 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to 
> a violated space quota.
> 2018-05-31 00:34:27,571 ERROR [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> quotas.RegionServerSpaceQuotaManager(210): Failed to disable space violation 
> policy for testSetQuotaAndThenIncreaseQuotaWithDisable0. This table will 
> remain in violation.
> org.apache.hadoop.hbase.security.AccessDeniedException: 
> org.apache.hadoop.hbase.security.AccessDeniedException: Enabling the table 
> 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to a 
> violated space quota.
>   at org.apache.hadoop.hbase.master.HMaster$6.run(HMaster.java:2275)
>   at 
> org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
>   at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:2258)
>   at 
> org.apache.hadoop.hbase.master.MasterRpcServices.enableTable(MasterRpcServices.java:725)
>   at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
>   at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:409)
>   at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at 
> 

[jira] [Commented] (HBASE-20662) Increasing space quota on a violated table does not remove SpaceViolationPolicy.DISABLE enforcement

2019-03-15 Thread Josh Elser (JIRA)


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

Josh Elser commented on HBASE-20662:


PS: this did not apply cleanly to branch-2.1, so I only applied it to 
newer-branches than that.

I would be in support of this landing on earlier versions if you choose to 
submit a patch for other branches.

> Increasing space quota on a violated table does not remove 
> SpaceViolationPolicy.DISABLE enforcement
> ---
>
> Key: HBASE-20662
> URL: https://issues.apache.org/jira/browse/HBASE-20662
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 3.0.0, 2.0.0
>Reporter: Nihal Jain
>Assignee: Nihal Jain
>Priority: Major
> Fix For: 3.0.0, 2.2.0
>
> Attachments: HBASE-20662.master.001.patch, 
> HBASE-20662.master.002.patch, HBASE-20662.master.003.patch, 
> HBASE-20662.master.004.patch, HBASE-20662.master.004.patch, 
> HBASE-20662.master.005.patch, HBASE-20662.master.006.patch, 
> HBASE-20662.master.007.patch, HBASE-20662.master.008.patch, 
> HBASE-20662.master.008.patch, HBASE-20662.master.009.patch, 
> HBASE-20662.master.009.patch, HBASE-20662.master.010.patch, screenshot.png
>
>
> *Steps to reproduce*
>  * Create a table and set quota with {{SpaceViolationPolicy.DISABLE}} having 
> limit say 2MB
>  * Now put rows until space quota is violated and table gets disabled
>  * Next, increase space quota with limit say 4MB on the table
>  * Now try putting a row into the table
> {code:java}
>  private void testSetQuotaThenViolateAndFinallyIncreaseQuota() throws 
> Exception {
> SpaceViolationPolicy policy = SpaceViolationPolicy.DISABLE;
> Put put = new Put(Bytes.toBytes("to_reject"));
> put.addColumn(Bytes.toBytes(SpaceQuotaHelperForTests.F1), 
> Bytes.toBytes("to"),
>   Bytes.toBytes("reject"));
> // Do puts until we violate space policy
> final TableName tn = writeUntilViolationAndVerifyViolation(policy, put);
> // Now, increase limit
> setQuotaLimit(tn, policy, 4L);
> // Put some row now: should not violate as quota limit increased
> verifyNoViolation(policy, tn, put);
>   }
> {code}
> *Expected*
> We should be able to put data as long as newly set quota limit is not reached
> *Actual*
> We fail to put any new row even after increasing limit
> *Root cause*
> Increasing quota on a violated table triggers the table to be enabled, but 
> since the table is already in violation, the system does not allow it to be 
> enabled (may be thinking that a user is trying to enable it)
> *Relevant exception trace*
> {noformat}
> 2018-05-31 00:34:27,563 INFO  [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> client.HBaseAdmin$14(844): Started enable of 
> testSetQuotaAndThenIncreaseQuotaWithDisable0
> 2018-05-31 00:34:27,571 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=42525] 
> ipc.CallRunner(142): callId: 11 service: MasterService methodName: 
> EnableTable size: 104 connection: 127.0.0.1:38030 deadline: 1527707127568, 
> exception=org.apache.hadoop.hbase.security.AccessDeniedException: Enabling 
> the table 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to 
> a violated space quota.
> 2018-05-31 00:34:27,571 ERROR [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> quotas.RegionServerSpaceQuotaManager(210): Failed to disable space violation 
> policy for testSetQuotaAndThenIncreaseQuotaWithDisable0. This table will 
> remain in violation.
> org.apache.hadoop.hbase.security.AccessDeniedException: 
> org.apache.hadoop.hbase.security.AccessDeniedException: Enabling the table 
> 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to a 
> violated space quota.
>   at org.apache.hadoop.hbase.master.HMaster$6.run(HMaster.java:2275)
>   at 
> org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
>   at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:2258)
>   at 
> org.apache.hadoop.hbase.master.MasterRpcServices.enableTable(MasterRpcServices.java:725)
>   at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
>   at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:409)
>   at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>   at 
> 

[jira] [Updated] (HBASE-20662) Increasing space quota on a violated table does not remove SpaceViolationPolicy.DISABLE enforcement

2019-03-15 Thread Josh Elser (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-20662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated HBASE-20662:
---
Fix Version/s: 2.2.0

> Increasing space quota on a violated table does not remove 
> SpaceViolationPolicy.DISABLE enforcement
> ---
>
> Key: HBASE-20662
> URL: https://issues.apache.org/jira/browse/HBASE-20662
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 3.0.0, 2.0.0
>Reporter: Nihal Jain
>Assignee: Nihal Jain
>Priority: Major
> Fix For: 3.0.0, 2.2.0
>
> Attachments: HBASE-20662.master.001.patch, 
> HBASE-20662.master.002.patch, HBASE-20662.master.003.patch, 
> HBASE-20662.master.004.patch, HBASE-20662.master.004.patch, 
> HBASE-20662.master.005.patch, HBASE-20662.master.006.patch, 
> HBASE-20662.master.007.patch, HBASE-20662.master.008.patch, 
> HBASE-20662.master.008.patch, HBASE-20662.master.009.patch, 
> HBASE-20662.master.009.patch, HBASE-20662.master.010.patch, screenshot.png
>
>
> *Steps to reproduce*
>  * Create a table and set quota with {{SpaceViolationPolicy.DISABLE}} having 
> limit say 2MB
>  * Now put rows until space quota is violated and table gets disabled
>  * Next, increase space quota with limit say 4MB on the table
>  * Now try putting a row into the table
> {code:java}
>  private void testSetQuotaThenViolateAndFinallyIncreaseQuota() throws 
> Exception {
> SpaceViolationPolicy policy = SpaceViolationPolicy.DISABLE;
> Put put = new Put(Bytes.toBytes("to_reject"));
> put.addColumn(Bytes.toBytes(SpaceQuotaHelperForTests.F1), 
> Bytes.toBytes("to"),
>   Bytes.toBytes("reject"));
> // Do puts until we violate space policy
> final TableName tn = writeUntilViolationAndVerifyViolation(policy, put);
> // Now, increase limit
> setQuotaLimit(tn, policy, 4L);
> // Put some row now: should not violate as quota limit increased
> verifyNoViolation(policy, tn, put);
>   }
> {code}
> *Expected*
> We should be able to put data as long as newly set quota limit is not reached
> *Actual*
> We fail to put any new row even after increasing limit
> *Root cause*
> Increasing quota on a violated table triggers the table to be enabled, but 
> since the table is already in violation, the system does not allow it to be 
> enabled (may be thinking that a user is trying to enable it)
> *Relevant exception trace*
> {noformat}
> 2018-05-31 00:34:27,563 INFO  [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> client.HBaseAdmin$14(844): Started enable of 
> testSetQuotaAndThenIncreaseQuotaWithDisable0
> 2018-05-31 00:34:27,571 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=42525] 
> ipc.CallRunner(142): callId: 11 service: MasterService methodName: 
> EnableTable size: 104 connection: 127.0.0.1:38030 deadline: 1527707127568, 
> exception=org.apache.hadoop.hbase.security.AccessDeniedException: Enabling 
> the table 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to 
> a violated space quota.
> 2018-05-31 00:34:27,571 ERROR [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> quotas.RegionServerSpaceQuotaManager(210): Failed to disable space violation 
> policy for testSetQuotaAndThenIncreaseQuotaWithDisable0. This table will 
> remain in violation.
> org.apache.hadoop.hbase.security.AccessDeniedException: 
> org.apache.hadoop.hbase.security.AccessDeniedException: Enabling the table 
> 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to a 
> violated space quota.
>   at org.apache.hadoop.hbase.master.HMaster$6.run(HMaster.java:2275)
>   at 
> org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
>   at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:2258)
>   at 
> org.apache.hadoop.hbase.master.MasterRpcServices.enableTable(MasterRpcServices.java:725)
>   at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
>   at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:409)
>   at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>   at 
> 

[jira] [Updated] (HBASE-20662) Increasing space quota on a violated table does not remove SpaceViolationPolicy.DISABLE enforcement

2019-03-15 Thread Josh Elser (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-20662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated HBASE-20662:
---
  Resolution: Fixed
Hadoop Flags: Reviewed
  Status: Resolved  (was: Patch Available)

Thanks for continuing to push on this, Nihal. Good work!

> Increasing space quota on a violated table does not remove 
> SpaceViolationPolicy.DISABLE enforcement
> ---
>
> Key: HBASE-20662
> URL: https://issues.apache.org/jira/browse/HBASE-20662
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 3.0.0, 2.0.0
>Reporter: Nihal Jain
>Assignee: Nihal Jain
>Priority: Major
> Fix For: 3.0.0, 2.2.0
>
> Attachments: HBASE-20662.master.001.patch, 
> HBASE-20662.master.002.patch, HBASE-20662.master.003.patch, 
> HBASE-20662.master.004.patch, HBASE-20662.master.004.patch, 
> HBASE-20662.master.005.patch, HBASE-20662.master.006.patch, 
> HBASE-20662.master.007.patch, HBASE-20662.master.008.patch, 
> HBASE-20662.master.008.patch, HBASE-20662.master.009.patch, 
> HBASE-20662.master.009.patch, HBASE-20662.master.010.patch, screenshot.png
>
>
> *Steps to reproduce*
>  * Create a table and set quota with {{SpaceViolationPolicy.DISABLE}} having 
> limit say 2MB
>  * Now put rows until space quota is violated and table gets disabled
>  * Next, increase space quota with limit say 4MB on the table
>  * Now try putting a row into the table
> {code:java}
>  private void testSetQuotaThenViolateAndFinallyIncreaseQuota() throws 
> Exception {
> SpaceViolationPolicy policy = SpaceViolationPolicy.DISABLE;
> Put put = new Put(Bytes.toBytes("to_reject"));
> put.addColumn(Bytes.toBytes(SpaceQuotaHelperForTests.F1), 
> Bytes.toBytes("to"),
>   Bytes.toBytes("reject"));
> // Do puts until we violate space policy
> final TableName tn = writeUntilViolationAndVerifyViolation(policy, put);
> // Now, increase limit
> setQuotaLimit(tn, policy, 4L);
> // Put some row now: should not violate as quota limit increased
> verifyNoViolation(policy, tn, put);
>   }
> {code}
> *Expected*
> We should be able to put data as long as newly set quota limit is not reached
> *Actual*
> We fail to put any new row even after increasing limit
> *Root cause*
> Increasing quota on a violated table triggers the table to be enabled, but 
> since the table is already in violation, the system does not allow it to be 
> enabled (may be thinking that a user is trying to enable it)
> *Relevant exception trace*
> {noformat}
> 2018-05-31 00:34:27,563 INFO  [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> client.HBaseAdmin$14(844): Started enable of 
> testSetQuotaAndThenIncreaseQuotaWithDisable0
> 2018-05-31 00:34:27,571 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=42525] 
> ipc.CallRunner(142): callId: 11 service: MasterService methodName: 
> EnableTable size: 104 connection: 127.0.0.1:38030 deadline: 1527707127568, 
> exception=org.apache.hadoop.hbase.security.AccessDeniedException: Enabling 
> the table 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to 
> a violated space quota.
> 2018-05-31 00:34:27,571 ERROR [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> quotas.RegionServerSpaceQuotaManager(210): Failed to disable space violation 
> policy for testSetQuotaAndThenIncreaseQuotaWithDisable0. This table will 
> remain in violation.
> org.apache.hadoop.hbase.security.AccessDeniedException: 
> org.apache.hadoop.hbase.security.AccessDeniedException: Enabling the table 
> 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to a 
> violated space quota.
>   at org.apache.hadoop.hbase.master.HMaster$6.run(HMaster.java:2275)
>   at 
> org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
>   at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:2258)
>   at 
> org.apache.hadoop.hbase.master.MasterRpcServices.enableTable(MasterRpcServices.java:725)
>   at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
>   at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:409)
>   at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>   at 

[jira] [Commented] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Kevin Risden (JIRA)


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

Kevin Risden commented on HBASE-21895:
--

{quote}OK, seems not easy. I do not know why we use such a complicated way to 
integrate error prone...
{quote}
[~Apache9] - Do you have more details? I took a quick peek and it looks like 
its a maven profile to build with errorprone. I see a 
"hbase-build-support/hbase-error-prone" which not entirely sure what it is for, 
but the basic build integration part is in "hbase-build-configuration/pom.xml"

PS - Note I haven't looked at the HBase errorprone integration closely but 
might be able to help.

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22052) pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove redunant version specifications

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-22052:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
12s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:orange}-0{color} | {color:orange} test4tests {color} | {color:orange}  
0m  0s{color} | {color:orange} The patch doesn't appear to include any new or 
modified tests. Please justify why no new tests are needed for this patch. Also 
please list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} branch-2.0 Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
18s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  2m 
57s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 20m 
38s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
24s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  4m  
5s{color} | {color:green} branch-2.0 passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
12s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  2m 
58s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 20m 
48s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 20m 
48s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} xml {color} | {color:green}  0m 
10s{color} | {color:green} The patch has no ill-formed XML file. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
21s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green}  
8m 52s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 
2.7.4 or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  4m 
12s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}170m 35s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  3m 
17s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}249m  5s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.rest.TestSecureRESTServer |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:6f01af0 |
| JIRA Issue | HBASE-22052 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12962616/HBASE-22052.branch-2.0.002.patch
 |
| Optional Tests |  dupname  asflicense  javac  javadoc  unit  shadedjars  
hadoopcheck  xml  compile  |
| uname | Linux a3b47b1e93b6 4.4.0-139-generic #165~14.04.1-Ubuntu SMP Wed Oct 
31 10:55:11 UTC 2018 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | branch-2.0 / ac3e9eb7d4 |
| maven | version: Apache Maven 3.5.4 
(1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) |
| Default Java | 1.8.0_181 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16391/artifact/patchprocess/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16391/testReport/ |
| Max. process+thread count | 4627 (vs. ulimit of 1) |
| modules | C: hbase-zookeeper hbase-http hbase-server hbase-mapreduce 
hbase-endpoint hbase-it hbase-rest . U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16391/console 

[jira] [Commented] (HBASE-21926) Profiler servlet

2019-03-15 Thread Josh Elser (JIRA)


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

Josh Elser commented on HBASE-21926:


Here's my +1

Excited to take this for a drive. Looks sufficient for a first wag to me!

> Profiler servlet
> 
>
> Key: HBASE-21926
> URL: https://issues.apache.org/jira/browse/HBASE-21926
> Project: HBase
>  Issue Type: New Feature
>  Components: master, Operability, regionserver
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.3.0
>
> Attachments: 1.png, 2.png, 3.png, 4.png, HBASE-21926-branch-1.patch, 
> HBASE-21926-branch-1.patch, HBASE-21926-branch-1.patch, HBASE-21926.patch, 
> HBASE-21926.patch, HBASE-21926.patch
>
>
> HIVE-20202 describes how Hive added a web endpoint for online in production 
> profiling based on async-profiler. The endpoint was added as a servlet to 
> httpserver and supports retrieval of flamegraphs compiled from the profiler 
> trace. Async profiler 
> ([https://github.com/jvm-profiling-tools/async-profiler] ) can also profile 
> heap allocations, lock contention, and HW performance counters in addition to 
> CPU.
> The profiling overhead is pretty low and is safe to run in production. The 
> async-profiler project measured and describes CPU and memory overheads on 
> these issues: 
> [https://github.com/jvm-profiling-tools/async-profiler/issues/14] and 
> [https://github.com/jvm-profiling-tools/async-profiler/issues/131] 
> We have an httpserver based servlet stack so we can use HIVE-20202 as an 
> implementation template for a similar feature for HBase daemons. Ideally we 
> achieve these requirements:
>  * Retrieve flamegraph SVG generated from latest profile trace.
>  * Online enable and disable of profiling activity. (async-profiler does not 
> do instrumentation based profiling so this should not cause the code gen 
> related perf problems of that other approach and can be safely toggled on and 
> off while under production load.)
>  * CPU profiling.
>  * ALLOCATION profiling.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21926) Profiler servlet

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-21926:


[~busbey] If you want to make adoc changes, please just go ahead and take the 
latest version of the patch, make your changes on top, and attach the new 
omnibus patches. Happy to credit both of us upon commit.

> Profiler servlet
> 
>
> Key: HBASE-21926
> URL: https://issues.apache.org/jira/browse/HBASE-21926
> Project: HBase
>  Issue Type: New Feature
>  Components: master, Operability, regionserver
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.3.0
>
> Attachments: 1.png, 2.png, 3.png, 4.png, HBASE-21926-branch-1.patch, 
> HBASE-21926-branch-1.patch, HBASE-21926-branch-1.patch, HBASE-21926.patch, 
> HBASE-21926.patch, HBASE-21926.patch
>
>
> HIVE-20202 describes how Hive added a web endpoint for online in production 
> profiling based on async-profiler. The endpoint was added as a servlet to 
> httpserver and supports retrieval of flamegraphs compiled from the profiler 
> trace. Async profiler 
> ([https://github.com/jvm-profiling-tools/async-profiler] ) can also profile 
> heap allocations, lock contention, and HW performance counters in addition to 
> CPU.
> The profiling overhead is pretty low and is safe to run in production. The 
> async-profiler project measured and describes CPU and memory overheads on 
> these issues: 
> [https://github.com/jvm-profiling-tools/async-profiler/issues/14] and 
> [https://github.com/jvm-profiling-tools/async-profiler/issues/131] 
> We have an httpserver based servlet stack so we can use HIVE-20202 as an 
> implementation template for a similar feature for HBase daemons. Ideally we 
> achieve these requirements:
>  * Retrieve flamegraph SVG generated from latest profile trace.
>  * Online enable and disable of profiling activity. (async-profiler does not 
> do instrumentation based profiling so this should not cause the code gen 
> related perf problems of that other approach and can be safely toggled on and 
> off while under production load.)
>  * CPU profiling.
>  * ALLOCATION profiling.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22034) Backport HBASE-21404 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-22034:


Let me take this as I am committing HBASE-22032 already

> Backport HBASE-21404 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (HBASE-22034) Backport HBASE-21404 and HBASE-22032 to branch-1

2019-03-15 Thread Andrew Purtell (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell reassigned HBASE-22034:
--

Assignee: Andrew Purtell  (was: Geoffrey Jacoby)

> Backport HBASE-21404 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0, 1.4.10, 1.3.4, 1.2.12
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22032) KeyValue validation should check for null byte array

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-22032:


Going to commit this, then.

> KeyValue validation should check for null byte array
> 
>
> Key: HBASE-22032
> URL: https://issues.apache.org/jira/browse/HBASE-22032
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 3.0.0, 2.0.4, 2.1.3
>Reporter: Geoffrey Jacoby
>Assignee: Geoffrey Jacoby
>Priority: Major
> Attachments: HBASE-22032.v01.patch, HBASE-22032.v02.patch, 
> HBASE-22032.v03.patch
>
>
> HBASE-21401 added some nice validation checks to throw precise errors if a 
> KeyValue is constructed using invalid parameters. However it implicitly 
> assumes that the KeyValue buffer is not null. It should validate this 
> assumption and alert accordingly rather than throwing an NPE from an 
> unrelated check. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21926) Profiler servlet

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-21926:


I'm going to ignore further ImportOrder checkstyle warnings, because it doesn't 
seem to matter where the import is placed, there is still a warning. Tired of 
guessing what is the right answer. As this is the only checkstyle warning the 
patch looks good IMHO. 

The javac warning is for a file untouched by this patch, StaticUserWebFilter.

The whitespace warning will be fixed on commit with git am --whitespace=fix.

The patch has been confirmed to work with manual testing.

What else needs to be done here? I think it is ready. I need a +1 please

> Profiler servlet
> 
>
> Key: HBASE-21926
> URL: https://issues.apache.org/jira/browse/HBASE-21926
> Project: HBase
>  Issue Type: New Feature
>  Components: master, Operability, regionserver
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.3.0
>
> Attachments: 1.png, 2.png, 3.png, 4.png, HBASE-21926-branch-1.patch, 
> HBASE-21926-branch-1.patch, HBASE-21926-branch-1.patch, HBASE-21926.patch, 
> HBASE-21926.patch, HBASE-21926.patch
>
>
> HIVE-20202 describes how Hive added a web endpoint for online in production 
> profiling based on async-profiler. The endpoint was added as a servlet to 
> httpserver and supports retrieval of flamegraphs compiled from the profiler 
> trace. Async profiler 
> ([https://github.com/jvm-profiling-tools/async-profiler] ) can also profile 
> heap allocations, lock contention, and HW performance counters in addition to 
> CPU.
> The profiling overhead is pretty low and is safe to run in production. The 
> async-profiler project measured and describes CPU and memory overheads on 
> these issues: 
> [https://github.com/jvm-profiling-tools/async-profiler/issues/14] and 
> [https://github.com/jvm-profiling-tools/async-profiler/issues/131] 
> We have an httpserver based servlet stack so we can use HIVE-20202 as an 
> implementation template for a similar feature for HBase daemons. Ideally we 
> achieve these requirements:
>  * Retrieve flamegraph SVG generated from latest profile trace.
>  * Online enable and disable of profiling activity. (async-profiler does not 
> do instrumentation based profiling so this should not cause the code gen 
> related perf problems of that other approach and can be safely toggled on and 
> off while under production load.)
>  * CPU profiling.
>  * ALLOCATION profiling.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21991) Fix MetaMetrics issues - [Race condition, Faulty remove logic], few improvements

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-21991:


+1

This should go into all branches where MetaMetrics were committed.

> Fix MetaMetrics issues - [Race condition, Faulty remove logic], few 
> improvements
> 
>
> Key: HBASE-21991
> URL: https://issues.apache.org/jira/browse/HBASE-21991
> Project: HBase
>  Issue Type: Bug
>  Components: Coprocessors, metrics
>Reporter: Sakthi
>Assignee: Sakthi
>Priority: Major
> Attachments: hbase-21991.master.001.patch, 
> hbase-21991.master.002.patch, hbase-21991.master.003.patch, 
> hbase-21991.master.004.patch, hbase-21991.master.005.patch, 
> hbase-21991.master.006.patch
>
>
> Here is a list of the issues related to the MetaMetrics implementation:
> +*Bugs*+:
>  # [_Lossy counting for top-k_] *Faulty remove logic of non-eligible meters*: 
> Under certain conditions, we might end up storing/exposing all the meters 
> rather than top-k-ish
>  # MetaMetrics can throw NPE resulting in aborting of the RS because of a 
> *Race Condition*.
> +*Improvements*+:
>  # With high number of regions in the cluster, exposure of metrics for each 
> region blows up the JMX from ~140 Kbs to 100+ Mbs depending on the number of 
> regions. It's better to use *lossy counting to maintain top-k for region 
> metrics* as well.
>  # As the lossy meters do not represent actual counts, I think, it'll be 
> better to *rename the meters to include "lossy" in the name*. It would be 
> more informative while monitoring the metrics and there would be less 
> confusion regarding actual counts to lossy counts.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21895) Take more care on the error prone plugin and warnings

2019-03-15 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-21895:


How would a separate repo work? What's the point of error-prone integration if 
we can't run it on the code we are developing... which would be the main repo...

If error-prone integration is unstable then we have to decide if the work to 
keep it working is worth the returns in the extra coverage it provides. It's a 
valid choice to remove it. I remember some of the original motivation is we 
would use it to implement our own static checks for various conventions and 
invariants. This has not happened. So, in my opinion, much of its possibility 
has been unrealized and its value is somewhat marginal.

> Take more care on the error prone plugin and warnings
> -
>
> Key: HBASE-21895
> URL: https://issues.apache.org/jira/browse/HBASE-21895
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
>
> As shown in HBASE-21890 , the error prone warnings are truly useful.
> But now, the javac warnings section in the pre commit result is messed up, it 
> always reports unrelated warnings. Need to take a look at it.
> And also, we should try out best to clean up the warnings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22051) Remove the hardcoded expect value in TestRSGroupsBasics

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22051:
-
   Priority: Minor  (was: Critical)
Component/s: (was: master)
 test
 rsgroup
 Issue Type: Improvement  (was: Bug)
Summary: Remove the hardcoded expect value in TestRSGroupsBasics  (was: 
Prohibit HMaster#getClusterSchema from returning null)

> Remove the hardcoded expect value in TestRSGroupsBasics
> ---
>
> Key: HBASE-22051
> URL: https://issues.apache.org/jira/browse/HBASE-22051
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup, test
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 2:41 PM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I think it 
might not be easy to verify it directly, but it is verified indirectly by
(1) {color:#59afe1}TestRSGroupsBasics#testBasicStartUp(){color} for the 
condition where there is no servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupsBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region 
servers into default rsgroup, as verified */
{code}
and 
(2) {color:#59afe1}TestRSGroupsBasics#testClearDeadServers() {color}for the 
condition where there are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I think it 
might not be easy to verify it directly, but it is verified indirectly by
(1) {color:#59afe1}TestRSGroupBasics#testBasicStartUp(){color} for the 
condition where there is no servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) {color:#59afe1}TestRSGroupBasics#testClearDeadServers() {color}for the 
condition where there are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch, 
> call_stack_getDefaultServers.png
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20662) Increasing space quota on a violated table does not remove SpaceViolationPolicy.DISABLE enforcement

2019-03-15 Thread Josh Elser (JIRA)


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

Josh Elser commented on HBASE-20662:


on v10

* It would be nice to use JUnit parameterization to enumerate all of the new 
test classes you added instead of listing them all out by hand. I think you 
could move these test methods to its own class to make that more simple.

{code}
-  assertTrue("Expected exception message to contain the word '" + 
policyToViolate.name()
-  + "', but was " + msg,
-msg.contains(policyToViolate.name()));
+  LOG.info("Did not get the expected exception, will sleep and retry");
+  Thread.sleep(2000);
{code}

I'll fix this log message to include the exception text like the if statement 
does (the above was the else statement in TestSpaceQuotas). This will help 
debug this in the future, lest it breaks.

Going to run through the tests locally and commit if they come back green for 
me.

> Increasing space quota on a violated table does not remove 
> SpaceViolationPolicy.DISABLE enforcement
> ---
>
> Key: HBASE-20662
> URL: https://issues.apache.org/jira/browse/HBASE-20662
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 3.0.0, 2.0.0
>Reporter: Nihal Jain
>Assignee: Nihal Jain
>Priority: Major
> Fix For: 3.0.0
>
> Attachments: HBASE-20662.master.001.patch, 
> HBASE-20662.master.002.patch, HBASE-20662.master.003.patch, 
> HBASE-20662.master.004.patch, HBASE-20662.master.004.patch, 
> HBASE-20662.master.005.patch, HBASE-20662.master.006.patch, 
> HBASE-20662.master.007.patch, HBASE-20662.master.008.patch, 
> HBASE-20662.master.008.patch, HBASE-20662.master.009.patch, 
> HBASE-20662.master.009.patch, HBASE-20662.master.010.patch, screenshot.png
>
>
> *Steps to reproduce*
>  * Create a table and set quota with {{SpaceViolationPolicy.DISABLE}} having 
> limit say 2MB
>  * Now put rows until space quota is violated and table gets disabled
>  * Next, increase space quota with limit say 4MB on the table
>  * Now try putting a row into the table
> {code:java}
>  private void testSetQuotaThenViolateAndFinallyIncreaseQuota() throws 
> Exception {
> SpaceViolationPolicy policy = SpaceViolationPolicy.DISABLE;
> Put put = new Put(Bytes.toBytes("to_reject"));
> put.addColumn(Bytes.toBytes(SpaceQuotaHelperForTests.F1), 
> Bytes.toBytes("to"),
>   Bytes.toBytes("reject"));
> // Do puts until we violate space policy
> final TableName tn = writeUntilViolationAndVerifyViolation(policy, put);
> // Now, increase limit
> setQuotaLimit(tn, policy, 4L);
> // Put some row now: should not violate as quota limit increased
> verifyNoViolation(policy, tn, put);
>   }
> {code}
> *Expected*
> We should be able to put data as long as newly set quota limit is not reached
> *Actual*
> We fail to put any new row even after increasing limit
> *Root cause*
> Increasing quota on a violated table triggers the table to be enabled, but 
> since the table is already in violation, the system does not allow it to be 
> enabled (may be thinking that a user is trying to enable it)
> *Relevant exception trace*
> {noformat}
> 2018-05-31 00:34:27,563 INFO  [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> client.HBaseAdmin$14(844): Started enable of 
> testSetQuotaAndThenIncreaseQuotaWithDisable0
> 2018-05-31 00:34:27,571 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=42525] 
> ipc.CallRunner(142): callId: 11 service: MasterService methodName: 
> EnableTable size: 104 connection: 127.0.0.1:38030 deadline: 1527707127568, 
> exception=org.apache.hadoop.hbase.security.AccessDeniedException: Enabling 
> the table 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to 
> a violated space quota.
> 2018-05-31 00:34:27,571 ERROR [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> quotas.RegionServerSpaceQuotaManager(210): Failed to disable space violation 
> policy for testSetQuotaAndThenIncreaseQuotaWithDisable0. This table will 
> remain in violation.
> org.apache.hadoop.hbase.security.AccessDeniedException: 
> org.apache.hadoop.hbase.security.AccessDeniedException: Enabling the table 
> 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to a 
> violated space quota.
>   at org.apache.hadoop.hbase.master.HMaster$6.run(HMaster.java:2275)
>   at 
> org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
>   at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:2258)
>   at 
> org.apache.hadoop.hbase.master.MasterRpcServices.enableTable(MasterRpcServices.java:725)
>   at 
> 

[jira] [Commented] (HBASE-21879) Read HFile's block to ByteBuffer directly instead of to byte for reducing young gc purpose

2019-03-15 Thread Hudson (JIRA)


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

Hudson commented on HBASE-21879:


Results for branch HBASE-21879
[build #27 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21879/27/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21879/27//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21879/27//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21879/27//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Read HFile's block to ByteBuffer directly instead of to byte for reducing 
> young gc purpose
> --
>
> Key: HBASE-21879
> URL: https://issues.apache.org/jira/browse/HBASE-21879
> Project: HBase
>  Issue Type: Improvement
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 3.0.0, 2.3.0
>
> Attachments: HBASE-21879.v1.patch, HBASE-21879.v1.patch, 
> QPS-latencies-before-HBASE-21879.png, gc-data-before-HBASE-21879.png
>
>
> In HFileBlock#readBlockDataInternal,  we have the following: 
> {code}
> @VisibleForTesting
> protected HFileBlock readBlockDataInternal(FSDataInputStream is, long offset,
> long onDiskSizeWithHeaderL, boolean pread, boolean verifyChecksum, 
> boolean updateMetrics)
>  throws IOException {
>  // .
>   // TODO: Make this ByteBuffer-based. Will make it easier to go to HDFS with 
> BBPool (offheap).
>   byte [] onDiskBlock = new byte[onDiskSizeWithHeader + hdrSize];
>   int nextBlockOnDiskSize = readAtOffset(is, onDiskBlock, preReadHeaderSize,
>   onDiskSizeWithHeader - preReadHeaderSize, true, offset + 
> preReadHeaderSize, pread);
>   if (headerBuf != null) {
> // ...
>   }
>   // ...
>  }
> {code}
> In the read path,  we still read the block from hfile to on-heap byte[], then 
> copy the on-heap byte[] to offheap bucket cache asynchronously,  and in my  
> 100% get performance test, I also observed some frequent young gc,  The 
> largest memory footprint in the young gen should be the on-heap block byte[].
> In fact, we can read HFile's block to ByteBuffer directly instead of to 
> byte[] for reducing young gc purpose. we did not implement this before, 
> because no ByteBuffer reading interface in the older HDFS client, but 2.7+ 
> has supported this now,  so we can fix this now. I think. 
> Will provide an patch and some perf-comparison for this. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20662) Increasing space quota on a violated table does not remove SpaceViolationPolicy.DISABLE enforcement

2019-03-15 Thread Josh Elser (JIRA)


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

Josh Elser commented on HBASE-20662:


bq. Do you mean to say this patch exposes the afore-mentioned bug? If this is 
the case I think it's better we get this one resolved first instead of fixing 
some more stuff here

I don't think the problem described in 22012 is related to what you're doing 
here, Nihal. Just took a long time to actually get a clear explanation as to 
what was happening over there :)

> Increasing space quota on a violated table does not remove 
> SpaceViolationPolicy.DISABLE enforcement
> ---
>
> Key: HBASE-20662
> URL: https://issues.apache.org/jira/browse/HBASE-20662
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 3.0.0, 2.0.0
>Reporter: Nihal Jain
>Assignee: Nihal Jain
>Priority: Major
> Fix For: 3.0.0
>
> Attachments: HBASE-20662.master.001.patch, 
> HBASE-20662.master.002.patch, HBASE-20662.master.003.patch, 
> HBASE-20662.master.004.patch, HBASE-20662.master.004.patch, 
> HBASE-20662.master.005.patch, HBASE-20662.master.006.patch, 
> HBASE-20662.master.007.patch, HBASE-20662.master.008.patch, 
> HBASE-20662.master.008.patch, HBASE-20662.master.009.patch, 
> HBASE-20662.master.009.patch, HBASE-20662.master.010.patch, screenshot.png
>
>
> *Steps to reproduce*
>  * Create a table and set quota with {{SpaceViolationPolicy.DISABLE}} having 
> limit say 2MB
>  * Now put rows until space quota is violated and table gets disabled
>  * Next, increase space quota with limit say 4MB on the table
>  * Now try putting a row into the table
> {code:java}
>  private void testSetQuotaThenViolateAndFinallyIncreaseQuota() throws 
> Exception {
> SpaceViolationPolicy policy = SpaceViolationPolicy.DISABLE;
> Put put = new Put(Bytes.toBytes("to_reject"));
> put.addColumn(Bytes.toBytes(SpaceQuotaHelperForTests.F1), 
> Bytes.toBytes("to"),
>   Bytes.toBytes("reject"));
> // Do puts until we violate space policy
> final TableName tn = writeUntilViolationAndVerifyViolation(policy, put);
> // Now, increase limit
> setQuotaLimit(tn, policy, 4L);
> // Put some row now: should not violate as quota limit increased
> verifyNoViolation(policy, tn, put);
>   }
> {code}
> *Expected*
> We should be able to put data as long as newly set quota limit is not reached
> *Actual*
> We fail to put any new row even after increasing limit
> *Root cause*
> Increasing quota on a violated table triggers the table to be enabled, but 
> since the table is already in violation, the system does not allow it to be 
> enabled (may be thinking that a user is trying to enable it)
> *Relevant exception trace*
> {noformat}
> 2018-05-31 00:34:27,563 INFO  [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> client.HBaseAdmin$14(844): Started enable of 
> testSetQuotaAndThenIncreaseQuotaWithDisable0
> 2018-05-31 00:34:27,571 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=42525] 
> ipc.CallRunner(142): callId: 11 service: MasterService methodName: 
> EnableTable size: 104 connection: 127.0.0.1:38030 deadline: 1527707127568, 
> exception=org.apache.hadoop.hbase.security.AccessDeniedException: Enabling 
> the table 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to 
> a violated space quota.
> 2018-05-31 00:34:27,571 ERROR [regionserver/root1-ThinkPad-T440p:0.Chore.1] 
> quotas.RegionServerSpaceQuotaManager(210): Failed to disable space violation 
> policy for testSetQuotaAndThenIncreaseQuotaWithDisable0. This table will 
> remain in violation.
> org.apache.hadoop.hbase.security.AccessDeniedException: 
> org.apache.hadoop.hbase.security.AccessDeniedException: Enabling the table 
> 'testSetQuotaAndThenIncreaseQuotaWithDisable0' is disallowed due to a 
> violated space quota.
>   at org.apache.hadoop.hbase.master.HMaster$6.run(HMaster.java:2275)
>   at 
> org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
>   at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:2258)
>   at 
> org.apache.hadoop.hbase.master.MasterRpcServices.enableTable(MasterRpcServices.java:725)
>   at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
>   at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:409)
>   at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
>   at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 

[jira] [Commented] (HBASE-21512) Introduce an AsyncClusterConnection and replace the usage of ClusterConnection

2019-03-15 Thread Hudson (JIRA)


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

Hudson commented on HBASE-21512:


Results for branch HBASE-21512
[build #136 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21512/136/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21512/136//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21512/136//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21512/136//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Introduce an AsyncClusterConnection and replace the usage of ClusterConnection
> --
>
> Key: HBASE-21512
> URL: https://issues.apache.org/jira/browse/HBASE-21512
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Duo Zhang
>Priority: Major
> Fix For: 3.0.0
>
>
> At least for the RSProcedureDispatcher, with CompletableFuture we do not need 
> to set a delay and use a thread pool any more, which could reduce the 
> resource usage and also the latency.
> Once this is done, I think we can remove the ClusterConnection completely, 
> and start to rewrite the old sync client based on the async client, which 
> could reduce the code base a lot for our client.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21935) Replace make_rc.sh with customized spark/dev/create-release

2019-03-15 Thread stack (JIRA)


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

stack commented on HBASE-21935:
---

Tests passed. Getting somewhere. Let me get HBASE-22029 in. Then I'll try an RC.

> Replace make_rc.sh with customized spark/dev/create-release
> ---
>
> Key: HBASE-21935
> URL: https://issues.apache.org/jira/browse/HBASE-21935
> Project: HBase
>  Issue Type: Task
>  Components: rm
>Reporter: stack
>Assignee: stack
>Priority: Minor
>  Labels: rm
> Attachments: HBASE-21935.branch-2.0.001.patch, 
> HBASE-21935.branch-2.0.002.patch, HBASE-21935.branch-2.0.003.patch, 
> HBASE-21935.branch-2.0.004.patch, HBASE-21935.branch-2.0.005.patch, 
> HBASE-21935.branch-2.0.006.patch, HBASE-21935.branch-2.0.007.patch, 
> HBASE-21935.branch-2.0.008.patch, HBASE-21935.branch-2.0.009.patch, 
> HBASE-21935.branch-2.1.001.patch, HBASE-21935.branch-2.1.002.patch, 
> HBASE-21935.branch-2.1.003.patch, HBASE-21935.branch-2.1.004.patch, 
> HBASE-21935.branch-2.1.005.patch, HBASE-21935.branch-2.1.006.patch, 
> HBASE-21935.branch-2.1.007.patch
>
>
> The spark/dev/create-release is more comprehensive than our hokey make_rc.sh 
> script. It codifies the bulk of the RM process from tagging, version-setting, 
> building, signing, and pushing. It does it in a container so environment is 
> same each time. It has a bunch of spark-specifics as is -- naturally -- but 
> should be possible to pull it around to suit hbase RM'ing. It'd save a bunch 
> of time and would allow us to get to a place where RM'ing is canned, 
> evolvable, and consistent.
> I've been hacking on the tooling before the filing of this JIRA and was 
> polluting branch-2.0 w/ tagging and reverts. Let me make a branch named for 
> this JIRA to play with (There is a dry-run flag but it too needs work...).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22052) pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove redunant version specifications

2019-03-15 Thread stack (JIRA)


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

stack commented on HBASE-22052:
---

Retry.

> pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove 
> redunant version specifications
> ---
>
> Key: HBASE-22052
> URL: https://issues.apache.org/jira/browse/HBASE-22052
> Project: HBase
>  Issue Type: Task
>Reporter: stack
>Assignee: stack
>Priority: Major
> Attachments: HBASE-22052.branch-2.0.001.patch, 
> HBASE-22052.branch-2.0.002.patch, HBASE-22052.branch-2.0.002.patch
>
>
> Working on HBASE-22029, where we fail compile of hbase-it module four hours 
> into an RC build, it looks like transitive include of jersey-core is the 
> culprit. hadoop3 profile does a bunch of jersey-core exclusions. This issue 
> is about having hadoop2 profile and hadoop3 profiles match around jersey-core 
> treatment. Some miscellaneous cleanups are also done.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22052) pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove redunant version specifications

2019-03-15 Thread stack (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-22052:
--
Attachment: HBASE-22052.branch-2.0.002.patch

> pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove 
> redunant version specifications
> ---
>
> Key: HBASE-22052
> URL: https://issues.apache.org/jira/browse/HBASE-22052
> Project: HBase
>  Issue Type: Task
>Reporter: stack
>Assignee: stack
>Priority: Major
> Attachments: HBASE-22052.branch-2.0.001.patch, 
> HBASE-22052.branch-2.0.002.patch, HBASE-22052.branch-2.0.002.patch
>
>
> Working on HBASE-22029, where we fail compile of hbase-it module four hours 
> into an RC build, it looks like transitive include of jersey-core is the 
> culprit. hadoop3 profile does a bunch of jersey-core exclusions. This issue 
> is about having hadoop2 profile and hadoop3 profiles match around jersey-core 
> treatment. Some miscellaneous cleanups are also done.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22012) Space Quota: Policy state is getting changed from disable to Observance after sometime automatically.

2019-03-15 Thread Josh Elser (JIRA)


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

Josh Elser commented on HBASE-22012:


{quote}
But in case of table is disabled, regions are closed and hence region size is 
not getting calculated.
Now since region size is not available, as per behaviour, quota policy state 
will change to 'in observant' and table will be enabled again. 
{quote}

Ah, that makes much more sense. 

> Space Quota: Policy state is getting changed from disable to Observance after 
> sometime automatically.
> -
>
> Key: HBASE-22012
> URL: https://issues.apache.org/jira/browse/HBASE-22012
> Project: HBase
>  Issue Type: Bug
>Reporter: Ajeet Rai
>Priority: Minor
>
> pace Quota: Policy state is getting changed from disable to Observance after 
> sometime automatically.
> Steps:
> 1: Create a table with space quota policy as Disable
> 2: Put some data so that table state is in space quota violation
> 3: So observe that table state is in violation
> 4: Now wait for some time
> 5: Observe that after some time table state is changing to to Observance 
> however table is still disabled



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22012) SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable table

2019-03-15 Thread Josh Elser (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated HBASE-22012:
---
Description: 
pace Quota: Policy state is getting changed from disable to Observance after 
sometime automatically.

Steps:

1: Create a table with space quota policy as Disable
2: Put some data so that table state is in space quota violation
3: So observe that table state is in violation
4: Now wait for some time
5: Observe that after some time table state is changing to to Observance 
however table is still disabled

edit (elserj): The table is automatically moved back from the violation state 
because of the code added that tried to ride over RITs. When a Region is not 
online (whether normally or abnormally), the RegionSizeReports are not sent 
from RS to Master. Eventually, enough Regions are not reported which dips below 
the acceptable threshold and we automatically move the table back to the 
"acceptable" space quota state (not in violation). We could skip this failsafe 
when we're checking for a quota that has the DisableTable violation policy.

  was:
pace Quota: Policy state is getting changed from disable to Observance after 
sometime automatically.

Steps:

1: Create a table with space quota policy as Disable

2: Put some data so that table state is in space quota violation

3: So observe that table state is in violation

4: Now wait for some time

5: Observe that after some time table state is changing to to Observance 
however table is still disabled


> SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable 
> table
> 
>
> Key: HBASE-22012
> URL: https://issues.apache.org/jira/browse/HBASE-22012
> Project: HBase
>  Issue Type: Bug
>Reporter: Ajeet Rai
>Priority: Minor
>
> pace Quota: Policy state is getting changed from disable to Observance after 
> sometime automatically.
> Steps:
> 1: Create a table with space quota policy as Disable
> 2: Put some data so that table state is in space quota violation
> 3: So observe that table state is in violation
> 4: Now wait for some time
> 5: Observe that after some time table state is changing to to Observance 
> however table is still disabled
> edit (elserj): The table is automatically moved back from the violation state 
> because of the code added that tried to ride over RITs. When a Region is not 
> online (whether normally or abnormally), the RegionSizeReports are not sent 
> from RS to Master. Eventually, enough Regions are not reported which dips 
> below the acceptable threshold and we automatically move the table back to 
> the "acceptable" space quota state (not in violation). We could skip this 
> failsafe when we're checking for a quota that has the DisableTable violation 
> policy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22012) SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable table

2019-03-15 Thread Josh Elser (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated HBASE-22012:
---
Priority: Major  (was: Minor)

> SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable 
> table
> 
>
> Key: HBASE-22012
> URL: https://issues.apache.org/jira/browse/HBASE-22012
> Project: HBase
>  Issue Type: Bug
>Reporter: Ajeet Rai
>Priority: Major
>
> Space Quota: Policy state is getting changed from disable to Observance after 
> sometime automatically.
> Steps:
> 1: Create a table with space quota policy as Disable
> 2: Put some data so that table state is in space quota violation
> 3: So observe that table state is in violation
> 4: Now wait for some time
> 5: Observe that after some time table state is changing to to Observance 
> however table is still disabled
> edit (elserj): The table is automatically moved back from the violation state 
> because of the code added that tried to ride over RITs. When a Region is not 
> online (whether normally or abnormally), the RegionSizeReports are not sent 
> from RS to Master. Eventually, enough Regions are not reported which dips 
> below the acceptable threshold and we automatically move the table back to 
> the "acceptable" space quota state (not in violation). We could skip this 
> failsafe when we're checking for a quota that has the DisableTable violation 
> policy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22012) SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable table

2019-03-15 Thread Josh Elser (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated HBASE-22012:
---
Description: 
Space Quota: Policy state is getting changed from disable to Observance after 
sometime automatically.

Steps:

1: Create a table with space quota policy as Disable
2: Put some data so that table state is in space quota violation
3: So observe that table state is in violation
4: Now wait for some time
5: Observe that after some time table state is changing to to Observance 
however table is still disabled

edit (elserj): The table is automatically moved back from the violation state 
because of the code added that tried to ride over RITs. When a Region is not 
online (whether normally or abnormally), the RegionSizeReports are not sent 
from RS to Master. Eventually, enough Regions are not reported which dips below 
the acceptable threshold and we automatically move the table back to the 
"acceptable" space quota state (not in violation). We could skip this failsafe 
when we're checking for a quota that has the DisableTable violation policy.

  was:
pace Quota: Policy state is getting changed from disable to Observance after 
sometime automatically.

Steps:

1: Create a table with space quota policy as Disable
2: Put some data so that table state is in space quota violation
3: So observe that table state is in violation
4: Now wait for some time
5: Observe that after some time table state is changing to to Observance 
however table is still disabled

edit (elserj): The table is automatically moved back from the violation state 
because of the code added that tried to ride over RITs. When a Region is not 
online (whether normally or abnormally), the RegionSizeReports are not sent 
from RS to Master. Eventually, enough Regions are not reported which dips below 
the acceptable threshold and we automatically move the table back to the 
"acceptable" space quota state (not in violation). We could skip this failsafe 
when we're checking for a quota that has the DisableTable violation policy.


> SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable 
> table
> 
>
> Key: HBASE-22012
> URL: https://issues.apache.org/jira/browse/HBASE-22012
> Project: HBase
>  Issue Type: Bug
>Reporter: Ajeet Rai
>Priority: Minor
>
> Space Quota: Policy state is getting changed from disable to Observance after 
> sometime automatically.
> Steps:
> 1: Create a table with space quota policy as Disable
> 2: Put some data so that table state is in space quota violation
> 3: So observe that table state is in violation
> 4: Now wait for some time
> 5: Observe that after some time table state is changing to to Observance 
> however table is still disabled
> edit (elserj): The table is automatically moved back from the violation state 
> because of the code added that tried to ride over RITs. When a Region is not 
> online (whether normally or abnormally), the RegionSizeReports are not sent 
> from RS to Master. Eventually, enough Regions are not reported which dips 
> below the acceptable threshold and we automatically move the table back to 
> the "acceptable" space quota state (not in violation). We could skip this 
> failsafe when we're checking for a quota that has the DisableTable violation 
> policy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22012) SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable table

2019-03-15 Thread Josh Elser (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated HBASE-22012:
---
Summary: SpaceQuota DisableTableViolationPolicy will cause cycles of 
enable/disable table  (was: Space Quota: Policy state is getting changed from 
disable to Observance after sometime automatically.)

> SpaceQuota DisableTableViolationPolicy will cause cycles of enable/disable 
> table
> 
>
> Key: HBASE-22012
> URL: https://issues.apache.org/jira/browse/HBASE-22012
> Project: HBase
>  Issue Type: Bug
>Reporter: Ajeet Rai
>Priority: Minor
>
> pace Quota: Policy state is getting changed from disable to Observance after 
> sometime automatically.
> Steps:
> 1: Create a table with space quota policy as Disable
> 2: Put some data so that table state is in space quota violation
> 3: So observe that table state is in violation
> 4: Now wait for some time
> 5: Observe that after some time table state is changing to to Observance 
> however table is still disabled



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (HBASE-22054) Space Quota: Compaction is not working for super user in case of NO_WRITES_COMPACTIONS

2019-03-15 Thread Ajeet Rai (JIRA)
Ajeet Rai created HBASE-22054:
-

 Summary: Space Quota: Compaction is not working for super user in 
case of NO_WRITES_COMPACTIONS
 Key: HBASE-22054
 URL: https://issues.apache.org/jira/browse/HBASE-22054
 Project: HBase
  Issue Type: Bug
Reporter: Ajeet Rai


Space Quota: Compaction is not working for super user. Compaction command is 
issued successfully at client but actually compaction is not happening.

In debug log below message is printed:

as an active space quota violation policy disallows compaction.
 Reference: 
 
[https://lists.apache.org/thread.html/d09aa7abaacf1f0be9d59fa9260515ddc0c17ac0aba9cc0f2ac569bf@%3Cuser.hbase.apache.org%3E]

Actually in requestCompactionInternal method of  CompactSplit class ,there is 
no check for super user and compcations are disallowed
{noformat}
  RegionServerSpaceQuotaManager spaceQuotaManager =
this.server.getRegionServerSpaceQuotaManager();
if (spaceQuotaManager != null &&

spaceQuotaManager.areCompactionsDisabled(region.getTableDescriptor().getTableName()))
 {
  String reason = "Ignoring compaction request for " + region +
  " as an active space quota violation " + " policy disallows 
compactions.";
  tracker.notExecuted(store, reason);
  completeTracker.completed(store);
  LOG.debug(reason);
  return;
}

{noformat}
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22052) pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove redunant version specifications

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-22052:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
15s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:orange}-0{color} | {color:orange} test4tests {color} | {color:orange}  
0m  0s{color} | {color:orange} The patch doesn't appear to include any new or 
modified tests. Please justify why no new tests are needed for this patch. Also 
please list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} branch-2.0 Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
10s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  2m 
56s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 16m 
19s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
 4s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  4m 
10s{color} | {color:green} branch-2.0 passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
11s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  2m 
40s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 16m 
19s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 16m 
19s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} xml {color} | {color:green}  0m 
10s{color} | {color:green} The patch has no ill-formed XML file. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  3m 
57s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green}  
8m 23s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 
2.7.4 or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  4m 
15s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}170m  4s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  3m 
34s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}238m 34s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.rest.TestSecureRESTServer |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:6f01af0 |
| JIRA Issue | HBASE-22052 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12962576/HBASE-22052.branch-2.0.002.patch
 |
| Optional Tests |  dupname  asflicense  javac  javadoc  unit  shadedjars  
hadoopcheck  xml  compile  |
| uname | Linux 5cfd91124d1a 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 
17:16:02 UTC 2018 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | branch-2.0 / ac3e9eb7d4 |
| maven | version: Apache Maven 3.5.4 
(1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) |
| Default Java | 1.8.0_181 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16388/artifact/patchprocess/patch-unit-root.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16388/testReport/ |
| Max. process+thread count | 5138 (vs. ulimit of 1) |
| modules | C: hbase-zookeeper hbase-http hbase-server hbase-mapreduce 
hbase-endpoint hbase-it hbase-rest . U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16388/console |
| 

[jira] [Commented] (HBASE-21965) Fix failed split and merge transactions that have failed to roll back

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-21965:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
13s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:orange}-0{color} | {color:orange} test4tests {color} | {color:orange}  
0m  0s{color} | {color:orange} The patch doesn't appear to include any new or 
modified tests. Please justify why no new tests are needed for this patch. Also 
please list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
21s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
 9s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  3m 
48s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
58s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
34s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  5m 
50s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m  
1s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
14s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
 9s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} compile {color} | {color:red}  0m 
43s{color} | {color:red} hbase-server in the patch failed. {color} |
| {color:red}-1{color} | {color:red} cc {color} | {color:red}  0m 43s{color} | 
{color:red} hbase-server in the patch failed. {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red}  0m 43s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
59s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
27s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green}  
8m 37s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 
or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green}  
1m 36s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  6m 
23s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m  
0s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  0m 
35s{color} | {color:green} hbase-protocol-shaded in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  3m 
14s{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}133m 
29s{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  1m 
 2s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}192m  3s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b |
| JIRA Issue | HBASE-21965 |
| JIRA Patch URL | 

[jira] [Commented] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Hadoop QA (JIRA)


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

Hadoop QA commented on HBASE-22009:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m  
0s{color} | {color:blue} Docker mode activated. {color} |
| {color:red}-1{color} | {color:red} patch {color} | {color:red}  0m  6s{color} 
| {color:red} HBASE-22009 does not apply to master. Rebase required? Wrong 
Branch? See https://yetus.apache.org/documentation/0.8.0/precommit-patchnames 
for help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Issue | HBASE-22009 |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/16390/console |
| Powered by | Apache Yetus 0.8.0   http://yetus.apache.org |


This message was automatically generated.



> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch, 
> call_stack_getDefaultServers.png
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:52 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I think it 
might not be easy to verify it directly, but it is verified indirectly by
(1) {color:#59afe1}TestRSGroupBasics#testBasicStartUp(){color} for the 
condition where there is no servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) {color:#59afe1}TestRSGroupBasics#testClearDeadServers() {color}for the 
condition where there are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) {color:#59afe1}TestRSGroupBasics#testBasicStartUp(){color} for the 
condition where there is no servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) {color:#59afe1}TestRSGroupBasics#testClearDeadServers() {color}for the 
condition where there are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-22009:
-
Attachment: call_stack_getDefaultServers.png

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch, 
> call_stack_getDefaultServers.png
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:43 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartUp() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartUp() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:50 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) {color:#59afe1}TestRSGroupBasics#testBasicStartUp(){color} for the 
condition where there is no servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) {color:#59afe1}TestRSGroupBasics#testClearDeadServers() {color}for the 
condition where there are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) +TestRSGroupBasics#testBasicStartUp()+ for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) +TestRSGroupBasics#testClearDeadServers()+ for the condition where there 
are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:49 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) +TestRSGroupBasics#testBasicStartUp()+ for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) +TestRSGroupBasics#testClearDeadServers()+ for the condition where there 
are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) *TestRSGroupBasics#testBasicStartUp()* for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) *TestRSGroupBasics#testClearDeadServers() *for the condition where there 
are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:49 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) *TestRSGroupBasics#testBasicStartUp()* for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) *TestRSGroupBasics#testClearDeadServers() *for the condition where there 
are some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartUp() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup, as verified */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left, as verified*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:41 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartUp() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeps 1 server in default rsgroup) and then stop 1 
region server, making 2 left*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartUp() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:40 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartUp() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartup() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:36 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() is deeply invoked when HMaster starts (I uploaded the call 
stack just for your information), so I am not sure if we could verify it 
directly, but it is verified indirectly by
TestRSGroupBasics#testBasicStartup()
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers()
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls he function modified.

getDefaultServers() is deeply invoked when HMaster starts (I uploaded the call 
stack just for your information), so I am not sure if we could verify it 
directly, but it is verified indirectly by
TestRSGroupBasics#testBasicStartup()
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers()
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:42 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartUp() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeping 1 server in default rsgroup) and then stop 1 
region server, making 2 left*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartUp() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup into a 
specific rsgroup (while keeps 1 server in default rsgroup) and then stop 1 
region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:39 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
(1) TestRSGroupBasics#testBasicStartup() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
(2) TestRSGroupBasics#testClearDeadServers() for the condition where there are 
some servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
1. TestRSGroupBasics#testBasicStartup() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers() for the condition where there are some 
servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:39 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
1. TestRSGroupBasics#testBasicStartup() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers() for the condition where there are some 
servers in other groups as well as default group
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
TestRSGroupBasics#testBasicStartup() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers()
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:38 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
TestRSGroupBasics#testBasicStartup() for the condition where there is no 
servers in other groups (all are in default group)
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers()
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
TestRSGroupBasics#testBasicStartup()
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers()
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li edited comment on HBASE-22009 at 3/15/19 9:37 AM:
---

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() (addressed by this JIRA) is deeply invoked when HMaster 
starts (I uploaded the call stack just for your information), so I am not sure 
if we could verify it directly, but it is verified indirectly by
TestRSGroupBasics#testBasicStartup()
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers()
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 


was (Author: water):
Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls the function modified.

getDefaultServers() is deeply invoked when HMaster starts (I uploaded the call 
stack just for your information), so I am not sure if we could verify it 
directly, but it is verified indirectly by
TestRSGroupBasics#testBasicStartup()
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers()
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22009) Improve RSGroupInfoManagerImpl#getDefaultServers()

2019-03-15 Thread Xiang Li (JIRA)


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

Xiang Li commented on HBASE-22009:
--

Hi [~xucang], sorry, my bad. Have to correct my comments... It is : almost each 
test in hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup -verifies- 
calls he function modified.

getDefaultServers() is deeply invoked when HMaster starts (I uploaded the call 
stack just for your information), so I am not sure if we could verify it 
directly, but it is verified indirectly by
TestRSGroupBasics#testBasicStartup()
{code:java}
assertEquals(4, defaultInfo.getServers().size());
/* TestRSGroupBase#setUpTestBeforeClass() puts NUM_SLAVES_BASE=4 region servers 
into default rsgroup */
{code}
and 
TestRSGroupBasics#testClearDeadServers()
{code}
assertEquals(2, newGroupServers.size());
/* testClearDeadServers() moves 3 region servers from default rsgroup a 
specific rsgroup and stop 1 region server, making 2 left*/
{code}
 

> Improve RSGroupInfoManagerImpl#getDefaultServers()
> --
>
> Key: HBASE-22009
> URL: https://issues.apache.org/jira/browse/HBASE-22009
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Reporter: Xiang Li
>Assignee: Xiang Li
>Priority: Minor
> Attachments: HBASE-22009.master.000.patch
>
>
> {code:title=RSGroupInfoManagerImpl.java|borderStyle=solid}
> private SortedSet getDefaultServers() throws IOException {
>   SortedSet defaultServers = Sets.newTreeSet();
>   for (ServerName serverName : getOnlineRS()) {
> Address server = Address.fromParts(serverName.getHostname(), 
> serverName.getPort());
> boolean found = false;
> for (RSGroupInfo rsgi : listRSGroups()) {
>   if (!RSGroupInfo.DEFAULT_GROUP.equals(rsgi.getName()) && 
> rsgi.containsServer(server)) {
> found = true;
> break;
>   }
> }
> if (!found) {
>   defaultServers.add(server);
> }
>   }
>   return defaultServers;
> }
> {code}
> That is a logic of 2 nest loops. And for each server, listRSGroups() 
> allocates a new LinkedList and calls Map#values(), both of which are very 
> heavy operations.
> Maybe the inner loop could be moved out, that is
> # Build a list of servers of other groups than default group
> # Iterate each online servers and check if it is in the list above. If it is 
> not, then it belongs to default group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-22053) zookeeper URL links in documentation are failing with 404

2019-03-15 Thread Subrat Mishra (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-22053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Subrat Mishra updated HBASE-22053:
--
Attachment: HBASE-22053.master.001.patch

> zookeeper URL links in documentation are failing with 404
> -
>
> Key: HBASE-22053
> URL: https://issues.apache.org/jira/browse/HBASE-22053
> Project: HBase
>  Issue Type: Bug
>  Components: documentation
>Reporter: Subrat Mishra
>Assignee: Subrat Mishra
>Priority: Minor
> Attachments: HBASE-22053.master.001.patch
>
>
> zookeeper URL changed from hadoop.apache.org to zookeeper.apache.org
> E.g: Below URL failing with 404
> http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions
> should be changed to:
> https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkSessions



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-22049) getReopenStatus() didn't skip counting split parent region

2019-03-15 Thread Jingyun Tian (JIRA)


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

Jingyun Tian commented on HBASE-22049:
--

[~Apache9] Failed test is not related to my patch. But the root cause is when 
master restart, the flag of isSplit cannot be restore. Maybe we should try to 
fix this?

> getReopenStatus() didn't skip counting split parent region
> --
>
> Key: HBASE-22049
> URL: https://issues.apache.org/jira/browse/HBASE-22049
> Project: HBase
>  Issue Type: Bug
>Reporter: Jingyun Tian
>Assignee: Jingyun Tian
>Priority: Major
> Attachments: HBASE-22049.master.001.patch
>
>
> After we modify some attributes of table, hbaseAdmin will getAlterStatus to 
> check if all region's attributes updated. It will skip opened region and 
> split region as the following code shows.
> {code}
> for (RegionState regionState: states) {
>   if (!regionState.isOpened() && !regionState.isSplit()) {
> ritCount++;
>   }
> }
> {code}
> But since now the split procedure is to unassign the split parent region, 
> thus the state is CLOSED, and the check will hang there until timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-21965) Fix failed split and merge transactions that have failed to roll back

2019-03-15 Thread Jingyun Tian (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-21965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jingyun Tian updated HBASE-21965:
-
Status: Patch Available  (was: Reopened)

> Fix failed split and merge transactions that have failed to roll back
> -
>
> Key: HBASE-21965
> URL: https://issues.apache.org/jira/browse/HBASE-21965
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Jingyun Tian
>Assignee: Jingyun Tian
>Priority: Major
> Attachments: HBASE-21965.master.001.patch
>
>
> Make HBCK2 be able to fix failed split and merge transactions that have 
> failed to roll back.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-21965) Fix failed split and merge transactions that have failed to roll back

2019-03-15 Thread Jingyun Tian (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-21965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jingyun Tian updated HBASE-21965:
-
Attachment: HBASE-21965.master.001.patch

> Fix failed split and merge transactions that have failed to roll back
> -
>
> Key: HBASE-21965
> URL: https://issues.apache.org/jira/browse/HBASE-21965
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Jingyun Tian
>Assignee: Jingyun Tian
>Priority: Major
> Attachments: HBASE-21965.master.001.patch
>
>
> Make HBCK2 be able to fix failed split and merge transactions that have 
> failed to roll back.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-21935) Replace make_rc.sh with customized spark/dev/create-release

2019-03-15 Thread stack (JIRA)


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

stack commented on HBASE-21935:
---

Will try it after get over this hurdle.

2.0.009 runs site in its own invocation. This seems to work (with HBASE-22029 
fix in place). Tests running.

> Replace make_rc.sh with customized spark/dev/create-release
> ---
>
> Key: HBASE-21935
> URL: https://issues.apache.org/jira/browse/HBASE-21935
> Project: HBase
>  Issue Type: Task
>  Components: rm
>Reporter: stack
>Assignee: stack
>Priority: Minor
>  Labels: rm
> Attachments: HBASE-21935.branch-2.0.001.patch, 
> HBASE-21935.branch-2.0.002.patch, HBASE-21935.branch-2.0.003.patch, 
> HBASE-21935.branch-2.0.004.patch, HBASE-21935.branch-2.0.005.patch, 
> HBASE-21935.branch-2.0.006.patch, HBASE-21935.branch-2.0.007.patch, 
> HBASE-21935.branch-2.0.008.patch, HBASE-21935.branch-2.0.009.patch, 
> HBASE-21935.branch-2.1.001.patch, HBASE-21935.branch-2.1.002.patch, 
> HBASE-21935.branch-2.1.003.patch, HBASE-21935.branch-2.1.004.patch, 
> HBASE-21935.branch-2.1.005.patch, HBASE-21935.branch-2.1.006.patch, 
> HBASE-21935.branch-2.1.007.patch
>
>
> The spark/dev/create-release is more comprehensive than our hokey make_rc.sh 
> script. It codifies the bulk of the RM process from tagging, version-setting, 
> building, signing, and pushing. It does it in a container so environment is 
> same each time. It has a bunch of spark-specifics as is -- naturally -- but 
> should be possible to pull it around to suit hbase RM'ing. It'd save a bunch 
> of time and would allow us to get to a place where RM'ing is canned, 
> evolvable, and consistent.
> I've been hacking on the tooling before the filing of this JIRA and was 
> polluting branch-2.0 w/ tagging and reverts. Let me make a branch named for 
> this JIRA to play with (There is a dry-run flag but it too needs work...).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


  1   2   >