[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16712627#comment-16712627 ] Jingyun Tian commented on HBASE-21565: -- [~apurtell] Sir, I found my patch has some conflicts with your patch of HBASE-21266. I'm wondering why the processingServers could be non-empty if there is no SCP running? Currently the only barrier of submitting SCP for a specified server is to check if it in the dead server list. Thus I think we should not remove the server from dead server list if it's processing. Or maybe we should add another barrier for this? Please check out this patch if you have time. Thanks. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16712726#comment-16712726 ] Hadoop QA commented on HBASE-21565: --- | (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: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:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 38s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 1s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 20s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 16s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 9s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 27s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 58s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 58s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 17s{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 14s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 9m 23s{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} 2m 8s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 22m 55s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 13s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 62m 37s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.TestClientClusterMetrics | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12950968/HBASE-21565.master.001.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux f58c51394c91 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 | master / 8d7061a487 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/15218/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15218/testReport/ | | Max. process+thread count | 724 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-serv
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16712731#comment-16712731 ] Duo Zhang commented on HBASE-21565: --- Is it possible to change the holdLock to true for ServerCrashProcedure? > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16713132#comment-16713132 ] Andrew Purtell commented on HBASE-21565: [~tianjingyun] The goal of HBASE-21266 was to fix a different problem, where numProcessing could get out of sync with the recorded set of processing servers, and also to fix that problem while not causing any unit tests to fail. It wasn't a change that considered all aspects of dead server processing including special cases in master initialization. This is a long way of saying I don't think there is a conflict, the dead server list is serving multiple overloaded functions. To your point, I would agree with this: {quote}Or maybe we should add another barrier for this? {quote} I don't think it is strictly necessary but loading up DeadServers with multiple semantics makes it hard to maintain and fix. Also, I work mostly with branch-1 so glad to see Duo is already here, or maybe stack, someone more familiar with AMv2 should have a look. Thanks. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16713471#comment-16713471 ] Jingyun Tian commented on HBASE-21565: -- [~Apache9] Yes. I think that should work. Let me dig the code and see if there is any problem with it. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16713472#comment-16713472 ] Jingyun Tian commented on HBASE-21565: -- [~apurtell] Thanks for your reply. I got your point. bq. I don't think it is strictly necessary but loading up DeadServers with multiple semantics makes it hard to maintain and fix. I totally agree with this. I'll try another way to solve this problem. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16713859#comment-16713859 ] Allan Yang commented on HBASE-21565: There is a similar issue discussing here HBASE-20976 > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16714258#comment-16714258 ] Jingyun Tian commented on HBASE-21565: -- [~allan163] Thanks for your comment. I ported your patch to this one. And also I think [~Apache9] Duo's opinion is reasonable, we can set holdLock to true to prevent multiple SCPs for a same server from running concurrently. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16714324#comment-16714324 ] Hadoop QA commented on HBASE-21565: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 11s{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:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 0s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 45s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 9s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 3m 48s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 56s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 28s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 7s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 44s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 44s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 4s{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} 3m 43s{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 15s{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} 2m 9s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}126m 13s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 27s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}161m 57s{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-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12951150/HBASE-21565.master.002.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 6abc41e3b4b5 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 | master / 79d90c87b5 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15229/testReport/ | | Max. process+thread count | 5031 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/15229/console | | Powered by | Apache Yetus 0.8.0 http://yetus.apache.org | This message was automatically generated. > Delete
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16714343#comment-16714343 ] Jingyun Tian commented on HBASE-21565: -- [~Apache9] I Ported patch from HBASE-20976 and Set the holdLock to true. Can you help check this out? > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16716793#comment-16716793 ] Hadoop QA commented on HBASE-21565: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 9s{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:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 27s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 0s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 17s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 9s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 9s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 27s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 55s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 55s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 16s{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 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} 9m 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} 2m 26s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 31s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}137m 31s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 22s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}176m 57s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.regionserver.TestMultiColumnScanner | | | hadoop.hbase.replication.TestSyncReplicationStandbyKillRS | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12951326/HBASE-21565.master.003.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux a529495397f0 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 | master / f88224ee34 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/15243/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15243/testReport/ | | Max. process+thread
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16718421#comment-16718421 ] Jingyun Tian commented on HBASE-21565: -- [~Apache9]These 2 failed UTs are not related to my patch. Please check this out. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16718745#comment-16718745 ] Hadoop QA commented on HBASE-21565: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 11s{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:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 33s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 55s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 19s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 12s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 20s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 36s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 43s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 3s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 3s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 20s{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 16s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 9m 38s{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} 2m 22s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 31s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}143m 52s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 27s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}184m 51s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.regionserver.TestMultiColumnScanner | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12951473/HBASE-21565.master.004.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 39b9ee84c381 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 | master / 67d6d5084c | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/15258/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15258/testReport/ | | Max. process+thread count | 4944 (vs. ulimit of 1) | | modules | C: hbase-server U
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16719841#comment-16719841 ] Hadoop QA commented on HBASE-21565: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 10s{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 3 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 0s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 49s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 10s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 3m 49s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 0s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 2s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 47s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 47s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 1m 10s{color} | {color:red} hbase-server: The patch generated 5 new + 255 unchanged - 0 fixed = 260 total (was 255) {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s{color} | {color:red} The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix <>. Refer https://git-scm.com/docs/git-apply {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 3m 47s{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 20s{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} 2m 12s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}123m 33s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 19s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}159m 47s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.replication.TestSyncReplicationStandbyKillRS | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12951601/HBASE-21565.master.005.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux a24e8a507c39 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 | master / f32d261843 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | checkstyle | https://builds.apache.org/job/PreCommit-HBASE-Build/15268/artifact/patchprocess/diff-checkstyle-hbase-server.txt | | whitespace | https
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16719873#comment-16719873 ] Jingyun Tian commented on HBASE-21565: -- [~Apache9] Failed UT is not related to my patch. And I use the state of ServerNode as the barrier to check if a SCP can be scheduled. Only exist ONLINE ServerNode can submit a SCP. Also I add a UT testConcurrentSCPForSameServer() to make sure when a SCP for a specified server is running, other SCPs for the same server will not be able to grab the lock. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16721528#comment-16721528 ] Hadoop QA commented on HBASE-21565: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 4m 29s{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 3 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 7m 52s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 41s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 25s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 0s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 49s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 48s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 14s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 24s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 24s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 19s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s{color} | {color:red} The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix <>. Refer https://git-scm.com/docs/git-apply {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 52s{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 34s{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} 2m 45s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 37s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}244m 0s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 32s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}297m 55s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.util.TestFromClientSide3WoUnsafe | | | hadoop.hbase.client.TestFromClientSide3 | | | hadoop.hbase.master.procedure.TestServerCrashProcedureWithReplicas | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12951800/HBASE-21565.master.006.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 1284c2d4632b 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 | master / 1b08ba7385 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | whitespace | https://builds.apache.org/job/PreCommit-HBASE-Build/15286/artifact/patchprocess/whitespace-
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16721769#comment-16721769 ] stack commented on HBASE-21565: --- Nice find [~tianjingyun]. This log which is above your change needs updating... it seems like we now do more than just log // '-SPLITTING'. Each splitting server should have a corresponding SCP. Log if not. Its a big change setting holdLock on SCP? Nice tests. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16721913#comment-16721913 ] Jingyun Tian commented on HBASE-21565: -- [~stack] {quote}Its a big change setting holdLock on SCP? {quote} Not really a big change I think, since only one kind procedure ServerCrashProcedure will grab a lock of a dead server, it only used to prevent two SCPs for the same server running concurrently. {quote}// '-SPLITTING'. Each splitting server should have a corresponding SCP. Log if not. {quote} I'll upload a patch later to fix this. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722665#comment-16722665 ] Guanghao Zhang commented on HBASE-21565: Add assert check for ServerNode in testClusterRestartFailOver? check ServerNode exists before kill, check ServerNode state is not online when there is a SCP, check ServerNode not exists after SCP finished. +1 for others. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722666#comment-16722666 ] stack commented on HBASE-21565: --- +1 on .007 after addressing [~zghaobac] 's comments. Should go to branch-2.0+? Thanks [~tianjingyun] > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722713#comment-16722713 ] Hadoop QA commented on HBASE-21565: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 10s{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 3 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 54s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 1s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 20s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 18s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 16s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 31s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 32s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 58s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 58s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 18s{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 40s{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 59s{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} 2m 46s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 39s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}149m 34s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 22s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}192m 56s{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-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12951979/HBASE-21565.master.007.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 1ddeadaa93c6 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@2/component/dev-support/hbase-personality.sh | | git revision | master / ac0b3bb547 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15298/testReport/ | | Max. process+thread count | 4362 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/15298/console | | Powered by | Apache Yetus 0.8.0 http://yetus.apache.org | This message was automatically generated.
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722719#comment-16722719 ] Jingyun Tian commented on HBASE-21565: -- [~zghaobac] Thanks for your comment. Added some status check for ServerNode in patch 008. [~stack] This patch relies on HBASE-21508, and I think it's useful to port these 2 patches to branch-2.0. But I'm not sure if there is any conflicts. How do you think? [~zghaobac] and [~stack]. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722724#comment-16722724 ] Guanghao Zhang commented on HBASE-21565: {quote}bq. Assert.assertTrue(serverNode != null); {quote} assertNull and assertNotNull may be better... And please add check for ONLINE state when server node is not null. Thanks. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722726#comment-16722726 ] Guanghao Zhang commented on HBASE-21565: {quote}bq.This patch relies on HBASE-21508, and I think it's useful to port these 2 patches to branch-2.0. {quote} Can you explain more about this? And FYI [~allan163] please take a look about this for branch-2.0. Thanks. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722750#comment-16722750 ] Jingyun Tian commented on HBASE-21565: -- [~zghaobac] Before HBASE-21508, there is no ServerNode check when submitting a SCP. Thus I think there may also have other changes that may affect this patch. I didn't dig into that patch, let me know if I'm wrong. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722877#comment-16722877 ] Hadoop QA commented on HBASE-21565: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 11s{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 3 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 36s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 57s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 18s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 12s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 7s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{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} 1m 55s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 55s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 1m 19s{color} | {color:red} hbase-server: The patch generated 1 new + 269 unchanged - 0 fixed = 270 total (was 269) {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 11s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 9m 17s{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} 2m 10s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}133m 23s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 24s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}173m 4s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.master.TestRestartCluster | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12951996/HBASE-21565.master.009.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 4223cedf9d0c 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 | master / ac0b3bb547 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | checkstyle | https://builds.apache.org/job/PreCommit-HBASE-Build/15302/artifact/patchprocess/diff-checkstyle-hbase-server.txt | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/15302/artifact/patchprocess/patch-unit-hbase-server.
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16722897#comment-16722897 ] Hadoop QA commented on HBASE-21565: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 19s{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 3 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 6s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 48s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 10s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 3m 49s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 1s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 2s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 46s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 46s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 1m 11s{color} | {color:red} hbase-server: The patch generated 1 new + 269 unchanged - 0 fixed = 270 total (was 269) {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 45s{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 22s{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} 2m 11s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}251m 50s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 26s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}288m 20s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.client.TestFromClientSide3 | | | hadoop.hbase.client.TestSnapshotTemporaryDirectoryWithRegionReplicas | | | hadoop.hbase.master.procedure.TestServerCrashProcedureWithReplicas | | | hadoop.hbase.client.TestAdmin1 | | | hadoop.hbase.client.TestFromClientSide | | | hadoop.hbase.client.TestFromClientSideWithCoprocessor | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12951993/HBASE-21565.master.008.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 4087ab8d3d13 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 | master / ac0b3bb547 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16723018#comment-16723018 ] Hadoop QA commented on HBASE-21565: --- | (/) *{color:green}+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 3 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 44s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 58s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 15s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 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} 2m 12s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 32s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 29s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 55s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 55s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 16s{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 14s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 9m 29s{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} 2m 15s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 31s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}134m 22s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 22s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}174m 32s{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-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12952026/HBASE-21565.master.010.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 4f34f2545c47 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 | master / ac0b3bb547 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15303/testReport/ | | Max. process+thread count | 4492 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/15303/console | | Powered by | Apache Yetus 0.8.0 http://yetus.apache.org | This message was automatically generated.
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16723850#comment-16723850 ] Jingyun Tian commented on HBASE-21565: -- Pushed to master already. Branch-2 has some conflicts, I uploaded a new patch for it to check the test result. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.branch-2.001.patch, > HBASE-21565.master.001.patch, HBASE-21565.master.002.patch, > HBASE-21565.master.003.patch, HBASE-21565.master.004.patch, > HBASE-21565.master.005.patch, HBASE-21565.master.006.patch, > HBASE-21565.master.007.patch, HBASE-21565.master.008.patch, > HBASE-21565.master.009.patch, HBASE-21565.master.010.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724126#comment-16724126 ] Hadoop QA commented on HBASE-21565: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 4m 26s{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 3 new or modified test files. {color} | || || || || {color:brown} branch-2 Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 7m 24s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 29s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 25s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 12s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 40s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 46s{color} | {color:green} branch-2 passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 49s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 19s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 19s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 26s{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 13s{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 11s{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} 2m 51s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 37s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}273m 1s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 28s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}323m 57s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.client.TestFromClientSide3 | | | hadoop.hbase.client.TestAdmin1 | | | hadoop.hbase.client.TestSnapshotTemporaryDirectoryWithRegionReplicas | | | hadoop.hbase.client.TestFromClientSideWithCoprocessor | | | hadoop.hbase.client.TestFromClientSide | | | hadoop.hbase.master.procedure.TestServerCrashProcedureWithReplicas | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:42ca976 | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12952158/HBASE-21565.branch-2.001.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 1e74a0f0bd11 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 / 99de534cc4 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | |
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724236#comment-16724236 ] stack commented on HBASE-21565: --- +1 for branch-2.0 when it passes tests. This is a nice bug fix. Thanks [~tianjingyun] > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.branch-2.001.patch, > HBASE-21565.master.001.patch, HBASE-21565.master.002.patch, > HBASE-21565.master.003.patch, HBASE-21565.master.004.patch, > HBASE-21565.master.005.patch, HBASE-21565.master.006.patch, > HBASE-21565.master.007.patch, HBASE-21565.master.008.patch, > HBASE-21565.master.009.patch, HBASE-21565.master.010.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724646#comment-16724646 ] Jingyun Tian commented on HBASE-21565: -- These failed UTs are flakey, they all passed on my own desktop. I'll trigger the test again. bq. +1 for branch-2.0 when it passes tests. Do you mean port this patch to branch-2.0? That may need take some extra effort since there are other patches may need to patch. Should I open a new issue for this? [~stack] > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.branch-2.001.patch, > HBASE-21565.branch-2.002.patch, HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch, HBASE-21565.master.009.patch, > HBASE-21565.master.010.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724709#comment-16724709 ] Hadoop QA commented on HBASE-21565: --- | (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:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 3 new or modified test files. {color} | || || || || {color:brown} branch-2 Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 27s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 56s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 17s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 3m 46s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 5s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} branch-2 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} 1m 54s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 54s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 16s{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} 3m 45s{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.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 20s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 32s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}129m 18s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 21s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}167m 43s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:42ca976 | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12952273/HBASE-21565.branch-2.002.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 130dd0b19c45 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 / fc7ca8a2ef | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/15323/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15323/testReport/ | | Max. process+thread count | 4256 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Bui
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724816#comment-16724816 ] Hadoop QA commented on HBASE-21565: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 14s{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 3 new or modified test files. {color} | || || || || {color:brown} branch-2 Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 52s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 46s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 10s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 3m 21s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 5s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} branch-2 passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 48s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 43s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 43s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 8s{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} 3m 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 0s{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} 2m 11s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}130m 8s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 26s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}164m 52s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.regionserver.TestRecoveredEdits | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:42ca976 | | JIRA Issue | HBASE-21565 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12952296/HBASE-21565.branch-2.002.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 269a25dc5148 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 / d2832c1708 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/15325/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15325/testReport/ | | Max. process+thread count | 4479 (vs. ulimit of 1) | | modules | C: hbase-serve
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724881#comment-16724881 ] Jingyun Tian commented on HBASE-21565: -- This failed test is not related to this patch. Pushed to branch-2. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.branch-2.001.patch, > HBASE-21565.branch-2.002.patch, HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch, HBASE-21565.master.009.patch, > HBASE-21565.master.010.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724925#comment-16724925 ] Hudson commented on HBASE-21565: Results for branch master [build #671 on builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/master/671/]: (x) *{color:red}-1 overall{color}* details (if available): (x) {color:red}-1 general checks{color} -- Something went wrong running this stage, please [check relevant console output|https://builds.apache.org/job/HBase%20Nightly/job/master/671//console]. (x) {color:red}-1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://builds.apache.org/job/HBase%20Nightly/job/master/671//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/master/671//JDK8_Nightly_Build_Report_(Hadoop3)/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.branch-2.001.patch, > HBASE-21565.branch-2.002.patch, HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch, HBASE-21565.master.009.patch, > HBASE-21565.master.010.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16725443#comment-16725443 ] Hudson commented on HBASE-21565: Results for branch branch-2 [build #1567 on builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1567/]: (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/1567//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/1567//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/branch-2/1567//JDK8_Nightly_Build_Report_(Hadoop3)/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.branch-2.001.patch, > HBASE-21565.branch-2.002.patch, HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch, HBASE-21565.master.009.patch, > HBASE-21565.master.010.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16725561#comment-16725561 ] Guanghao Zhang commented on HBASE-21565: [~stack] There is another issue HBASE-20976 for this problem in branch-2.0 and branch-2.1. > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.branch-2.001.patch, > HBASE-21565.branch-2.002.patch, HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch, HBASE-21565.master.009.patch, > HBASE-21565.master.010.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21565) Delete dead server from dead server list too early leads to concurrent Server Crash Procedures(SCP) for a same server
[ https://issues.apache.org/jira/browse/HBASE-21565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16726624#comment-16726624 ] Allan Yang commented on HBASE-21565: [~zghaobac],this issue should covered HBASE-20976, let's mark HBASE-20976 as duplicated by this one? > Delete dead server from dead server list too early leads to concurrent Server > Crash Procedures(SCP) for a same server > - > > Key: HBASE-21565 > URL: https://issues.apache.org/jira/browse/HBASE-21565 > Project: HBase > Issue Type: Bug >Affects Versions: 3.0.0 >Reporter: Jingyun Tian >Assignee: Jingyun Tian >Priority: Critical > Attachments: HBASE-21565.branch-2.001.patch, > HBASE-21565.branch-2.002.patch, HBASE-21565.master.001.patch, > HBASE-21565.master.002.patch, HBASE-21565.master.003.patch, > HBASE-21565.master.004.patch, HBASE-21565.master.005.patch, > HBASE-21565.master.006.patch, HBASE-21565.master.007.patch, > HBASE-21565.master.008.patch, HBASE-21565.master.009.patch, > HBASE-21565.master.010.patch > > > There are 2 kinds of SCP for a same server will be scheduled during cluster > restart, one is ZK session timeout, the other one is new server report in > will cause the stale one do fail over. The only barrier for these 2 kinds of > SCP is check if the server is in the dead server list. > {code} > if (this.deadservers.isDeadServer(serverName)) { > LOG.warn("Expiration called on {} but crash processing already in > progress", serverName); > return false; > } > {code} > But the problem is when master finish initialization, it will delete all > stale servers from dead server list. Thus when the SCP for ZK session timeout > come in, the barrier is already removed. > Here is the logs that how this problem occur. > {code} > 2018-12-07,11:42:37,589 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=9, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > 2018-12-07,11:42:58,007 INFO > org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure: Start pid=444, > state=RUNNABLE:SERVER_CRASH_START, hasLock=true; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > {code} > Now we can see two SCP are scheduled for the same server. > But the first procedure is finished after the second SCP starts. > {code} > 2018-12-07,11:43:08,038 INFO > org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Finished pid=9, > state=SUCCESS, hasLock=false; ServerCrashProcedure > server=c4-hadoop-tst-st27.bj,29100,1544153846859, splitWal=true, meta=false > in 30.5340sec > {code} > Thus it will leads the problem that regions will be assigned twice. > {code} > 2018-12-07,12:16:33,039 WARN > org.apache.hadoop.hbase.master.assignment.AssignmentManager: rit=OPEN, > location=c4-hadoop-tst-st28.bj,29100,1544154149607, table=test_failover, > region=459b3130b40caf3b8f3e1421766f4089 reported OPEN on > server=c4-hadoop-tst-st29.bj,29100,1544154149615 but state has otherwise > {code} > And here we can see the server is removed from dead server list before the > second SCP starts. > {code} > 2018-12-07,11:42:44,938 DEBUG org.apache.hadoop.hbase.master.DeadServer: > Removed c4-hadoop-tst-st27.bj,29100,1544153846859 ; numProcessing=3 > {code} > Thus we should not delete dead server from dead server list immediately. > Patch to fix this problem will be upload later. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)