[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-09-20 Thread stack (JIRA)

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

stack commented on HBASE-18109:
---

 
See[https://issues.apache.org/jira/browse/HBASE-14190?focusedCommentId=16067981=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16067981
 ]from HBASE-14190, the branch-1 issue for assigning system tables ahead of 
user-space tables.

_If I am not wrong, for system tables expect meta we still share logs with user 
regions, so even if we have some logic to assign system tables first, we still 
need wait log splitting done and we can not guarantee logs of system tables are 
split first. So there may be a blocking task that we should make multi-log 
feature having priority and write entries of system table in the highest 
priority logs. Thanks._


> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0, 3.0.0
>
> Attachments: HBASE-18109-V1.patch, HBASE-18109-V2.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-08 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

Thanks for committing and the comments. 

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0, 3.0.0
>
> Attachments: HBASE-18109-V1.patch, HBASE-18109-V2.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-08 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18109:


FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3160 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3160/])
HBASE-18109: Assign system tables first This issue adds comments and a (stack: 
rev 112bff4ba038634b5a2c3fd35c5ee3ee8a097886)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java


> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0, 3.0.0
>
> Attachments: HBASE-18109-V1.patch, HBASE-18109-V2.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-08 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18109:


FAILURE: Integrated in Jenkins build HBase-2.0 #11 (See 
[https://builds.apache.org/job/HBase-2.0/11/])
HBASE-18109: Assign system tables first This issue adds comments and a (stack: 
rev ea7d51e1291bf3c6d5d6ef977f9abcea79c04a3e)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java


> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0, 3.0.0
>
> Attachments: HBASE-18109-V1.patch, HBASE-18109-V2.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-08 Thread stack (JIRA)

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

stack commented on HBASE-18109:
---

Good find on HTD Priority. Seems like we should expand its compass to include 
not only RPC scheduling but also, its order when assigning. Can do in follow-up 
issue.

On your writeup, that is a nice summary. I'm going to commit your patch with 
some added commentary that comes of your findings. I think that we then resolve 
this issue as 'done'. If we find a case where the current scheduling is failing 
put out system tables generally ahead of user-space tables, lets revisit. Thank 
you for digging in here.

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch, HBASE-18109-V2.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-07 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18109:
---

| (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: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:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s 
{color} | {color:red} 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:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
50s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 34s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
43s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
13s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
42s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 23s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
38s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 33s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 33s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
41s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
13s {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} hadoopcheck {color} | {color:green} 
29m 8s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
54s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 26s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 21m 49s {color} 
| {color:red} hbase-server in the patch failed. {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} 62m 25s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.master.locking.TestLockProcedure |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.13.1 Server=1.13.1 Image:yetus/hbase:757bf37 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12871899/HBASE-18109-V2.patch |
| JIRA Issue | HBASE-18109 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 0e3f9f8887b1 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 
13:48:03 UTC 2016 x86_64 x86_64 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 / 492c3f8 |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/7134/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/7134/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/7134/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/7134/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Assign system tables 

[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-07 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

Hi [~stack], 
 :(, another problem comes, in TableDescriptor, we already have a set of 
Priority, but the priority is for RPC
{code}
  /**
   * Relative priority of the table used for rpc scheduling
   */
  private static final int DEFAULT_PRIORITY = HConstants.NORMAL_QOS;
{code}

So, I am not sure it is good to add another set of priority.  

After fully review the code, I think original author has already made meta and 
system table assigned first.
He use a queue called FairQueue to schedule procedures, and there are two 
factors that may affect the rate of procedure in the queue to be scheduled, one 
is procedure priority and other is the position of the procedure in the 
FairQueue, any procedures with high priority(he add priority in 
MasterProcedureScheduler, not in table) will be scheduled with high rate and 
also procedures in front/head of FairQueue also has high rate to be scheduled. 

Since original author has already make sure "meta/system table will be assigned 
first with higher rate"; I think  that will be enough for this jira, or we need 
to change how ProcedureExcutor schedule procedures. As for Phil's problem, we 
can open another jira for it, cause it is not very related to AM, lets now 
focus more on ProcedureV2 AM.

(My old patch just make simple distinction between system table and user table, 
it will put system table in front/head of FairQueue, which can theoretically 
help to assign system table first. If you like it, we can add it into current 
implementation)







> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-06 Thread stack (JIRA)

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

stack commented on HBASE-18109:
---

Agree on the scheduling, that it is inexact. I think the original author would 
probably argue that given assignment is multi-step, the above favoring of 
high-priority tasks will in the end make it so hbase:meta and system tables get 
assigned first. He'd have a point I think; I've not much experience watching 
this stuff in real deploys. Would be cool if could get more insurance that 
high-priority tasks are scheduled first.

#1 makes most sense I think. Default would be user priority. I'd think we'd 
keep priority an internal setting, not generally available, otherwise, all will 
set their tables as high-priority. We can take care of known-system-tables by 
setting their priority internally, explicitly. We can in a follow-on work on 
how we'd expose this feature so only @phil yang could use it (smile) and maybe 
one or two others if they make a deposit in a particular bank account. What you 
think [~easyliangjob]?

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-06 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

just found some problems with the second proposal above, if we pre-define a 
namespace for high priority,  since one table can have only one namespace, this 
table kind of stick into high priority namespace and can not be used for other 
purpose, like Rsgroup, quota. 

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-06 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

hi [~stack],
  For adding priority into table, I wana get some advice before implementing. I 
think there are two way to do it. 

(1) add {code}int priority{code} into table, so for all table, it has this 
property; and we need to have another createTable method which has priority as 
parameter, and we also need to change the code where use createTable, and need 
to pre-define some default priority for meta-table, sys-table, user-table.
(2) another one is simple, maybe we can define one namespace for high priority 
user table, and use need to add 'Phil Yang tier' table into this namespace. and 
user can still define their priority using settings below.
{code}
  metaTablePriority = 
conf.getInt("hbase.master.procedure.queue.meta.table.priority", 3);
  sysTablePriority = 
conf.getInt("hbase.master.procedure.queue.system.table.priority", 2);
  userTablePriority = 
conf.getInt("hbase.master.procedure.queue.user.table.priority", 1);
{code}
   I prefer second one :)

Thanks. 

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-05 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

Hi Stack, 
Thanks for your comments and insights, I Just check FairQueue#poll() in 
MasterProcedureScheduler, this FairQueue control how Procedure get pop out of 
scheduler to be executed.  This FairQueue can make sure that 
{quote}
A TableQueue with priority 2 will get its procedures scheduled at twice the 
rate as compared to TableQueue with priority 1(TableQueue store all procedures 
for this table).
{quote}
So from the underlying implementation, it is hard to guarantee higher priority 
procedures running first, they just get high frequency to be scheduled like 
what you said. 

I will to add priority into Table and add a new tier in 
MasterProcedureScheduler, my old patch can somehow make sure system table 
assign first(if system does not have too many regions), so plan to keep it.  
BTW, just check source code, it seems that ACL and RSGroups are all system 
tables. 

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-05 Thread stack (JIRA)

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

stack commented on HBASE-18109:
---

Excellent.

bq.  For ProcedureExecutor, ServerProcedure will always be executed before 
TableProcedure.

Yes. After reading your note, priority on Table would be the way to go at least 
at first till we have more need of priority on Procedure.  Your comments sent 
me back to the MasterProcedureScheduler. It already has notion of table 
priority and will schedule meta and system tables Procedures more frequently 
than it does user-space tables. There is config which allows you play w/ the 
scheduling so you can do hbase:meta runs more frequently. Then there are system 
tables and then user tables. Would need to make it so can stamp region server 
group tables as system table and then perhaps another tier for the 
[~yangzhe1991] table-type.

So, on your list, I'd say lets not bother with item #1 (priority on procedure) 
until we have an explicit need.
On #2, sorting before submit, we should spend some time and figure what is 
wrong w/ current scheduler... is it not favoring system tables?
On #3, yeah, need to expose means of setting priority and probably introduce a 
new tier, the "[~yangzhe1991]  Tier" where it is neither system nor user-space 
table (ACL perhaps and RSGroups and backup/restore support tables could go into 
this category)



> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-05 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

Hi [~stack]
After reviewing the current implementation, I have some thoughts on this jira. 

>From current implementation, there are two kinds of Procedure, one is 
>ServerProcedure, and one is TableProcedure; For ProcedureExecutor, 
>ServerProcedure will always be executed before TableProcedure.  

Right now, there are only one ServerProcedure, which is ServerCrashProcedure
For TableProcedure, it is really hard to see which one has priority, for 
example, We can not decided CreateTableProcedure has higher priority than 
DeletetTableProcedure, it should only depends on which Procedure submit first.

And the priority could be useful for some bulk operations for certain 
procedures,  like bulk region assign, when master start or server crashed, 
hbase can create and sort AssignProcedures based on table priority, and submit 
them to ProcedureExecutor.

For Phil's problem, it is more like priority for Table, not for Procedure. The 
table whose higher priority will be assigned first.  So maybe we need first add 
priority into Table.

[~stack], or do you have any other situation,  the priority can be really 
helpful for procedure. 

My idea is that 
For Procedure, we can still add facility to mark a priority on a Procedure, and 
maybe now it is only used in AssignProcedure. 
And ProcedureExecutor still work as the current way, so the priority only used 
in submitting the sorted bulk AssignProcedureS.  
For Table, add Priority into it, and this property can be only used for bulk 
assign right now. 

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-04 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

yes, the patch can not address Phil Yang's problem, I will consider add 
priority into the Procedure and find way that Executor can pop high priority 
issue first

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-03 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18109:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 36s 
{color} | {color:blue} Docker mode activated. {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:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s 
{color} | {color:red} 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:green}+1{color} | {color:green} mvninstall {color} | {color:green} 8m 
50s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 25s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
39s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
36s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 
57s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 11s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
9s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 59s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 59s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
54s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
38s {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} hadoopcheck {color} | {color:green} 
63m 22s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 
25s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 52s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 32m 51s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
16s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 128m 21s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.master.locking.TestLockProcedure |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.03.0-ce Server=17.03.0-ce Image:yetus/hbase:757bf37 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12871127/HBASE-18109-V1.patch |
| JIRA Issue | HBASE-18109 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux a38fe4251235 4.8.3-std-1 #1 SMP Fri Oct 21 11:15:43 UTC 2016 
x86_64 x86_64 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 / e65d865 |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/7059/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/7059/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/7059/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/7059/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Assign system tables first 

[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-03 Thread stack (JIRA)

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

stack commented on HBASE-18109:
---

Excellent. Patch looks good. It does make a simple distinction between system 
and user-space tables. This won't address the [~yangzhe1991] issue IIUC? Did 
you consider playing w/ the executor so it pops high-priority issues ahead of 
others queued (and then add facility to mark a priority on a Procedure?)?

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Assignee: Yi Liang
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-03 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

Hi [~stack]
   I Just provide a patch, after review the AM code, I think the order only 
matters in bulk assign of regions which happens when master start and server 
crash. I modify some code, so that AssignProcedure of system regions will be 
submitted before user regions, and in that way ProcedureExecutor will assign 
the system regions first. Let me know if I misunderstand something, or need to 
consider more. Thanks

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-18109-V1.patch
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-02 Thread stack (JIRA)

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

stack commented on HBASE-18109:
---

[~whitesky] Of course but please talk out loud in here in this issue so we can 
help out if issues.

[~yangzhe1991] Nod. We should make AM respect priorities. Seems easy enough. On 
log splitting, yeah, all goes into the one bucket (log splitting needs to move 
to pv2 too but that is another issue). Even so, priority should help since 
assign can't start till log split is done.

Hopefully w/ the async dfsclient in place, running with multiple WALs will 
involve less friction. We'll have to plumb in priority splitting logs as you 
suggest Phil. 

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Priority: Critical
> Fix For: 2.0.0
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-02 Thread Phil Yang (JIRA)

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

Phil Yang commented on HBASE-18109:
---

We also have a scenario for assigning some tables first. But not system table. 
Some of our services have two kinds of tables in HBase, meta tables and data 
tables. If some meta tables regions is not online, the services can not work 
for some queries even if all data table regions are online. So to reduce MTTR 
for the service when HBase cluster down. We have to use two HBase clusters to 
save two kinds of tables so the meta table MTTR will be much lower.

If we want to have priority in assignment, I think the most important part is 
not in AM, it is log split and replay. Now all table will in same log file so 
we can not replay some tables first. We can assign hbase:meta first because the 
log of meta is in a independent log file. So we may need multi-log feature to 
write different priority table into different logs and they have different file 
names so we  can split  them in a suitable order.

Thanks.

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Priority: Critical
> Fix For: 2.0.0
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18109) Assign system tables first (priority)

2017-06-01 Thread Yi Liang (JIRA)

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

Yi Liang commented on HBASE-18109:
--

HI Stack, 
   I have spent some time studying Procedure V2 and the new AM, and also 
interested in this jira, could I take it?

> Assign system tables first (priority)
> -
>
> Key: HBASE-18109
> URL: https://issues.apache.org/jira/browse/HBASE-18109
> Project: HBase
>  Issue Type: Sub-task
>  Components: Region Assignment
>Affects Versions: 2.0.0
>Reporter: stack
>Priority: Critical
> Fix For: 2.0.0
>
>
> Need this for stuff like the RSGroup table, etc. Assign these ahead of 
> user-space regions.
> From 'Handle sys table assignment first (e.g. acl, namespace, rsgroup); 
> currently only hbase:meta is first.' of 
> https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.oefcyphs0v0x



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)