[ https://issues.apache.org/jira/browse/HBASE-21505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16772214#comment-16772214 ]
Hadoop QA commented on HBASE-21505: ----------------------------------- | (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:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 1m 4s{color} | {color:blue} Maven dependency ordering for branch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 57s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 16m 5s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 2m 18s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 0s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue} 0m 23s{color} | {color:blue} hbase-hadoop2-compat in branch-2 has 18 extant Findbugs warnings. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 42s{color} | {color:green} branch-2 passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 16s{color} | {color:blue} Maven dependency ordering for patch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 1s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 15m 3s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 15m 3s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 15m 3s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 10s{color} | {color:green} The patch passed checkstyle in hbase-protocol-shaded {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 12s{color} | {color:green} The patch passed checkstyle in hbase-hadoop-compat {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 12s{color} | {color:green} The patch passed checkstyle in hbase-hadoop2-compat {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 32s{color} | {color:green} The patch passed checkstyle in hbase-client {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 6s{color} | {color:green} hbase-server: The patch generated 0 new + 88 unchanged - 3 fixed = 88 total (was 91) {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 11s{color} | {color:green} The patch passed checkstyle in hbase-shell {color} | | {color:red}-1{color} | {color:red} rubocop {color} | {color:red} 0m 7s{color} | {color:red} The patch generated 4 new + 427 unchanged - 26 fixed = 431 total (was 453) {color} | | {color:orange}-0{color} | {color:orange} ruby-lint {color} | {color:orange} 0m 3s{color} | {color:orange} The patch generated 5 new + 774 unchanged - 2 fixed = 779 total (was 776) {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 30s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green} 2m 18s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 6m 36s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 36s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 31s{color} | {color:green} hbase-protocol-shaded in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 28s{color} | {color:green} hbase-hadoop-compat in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 33s{color} | {color:green} hbase-hadoop2-compat in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 3m 20s{color} | {color:green} hbase-client in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green}128m 6s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 7m 51s{color} | {color:red} hbase-shell in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 2m 30s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}227m 2s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.client.TestAdminShell2 | | | hadoop.hbase.client.TestShell | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:42ca976 | | JIRA Issue | HBASE-21505 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12959259/HBASE-21505-branch-2.001.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile cc hbaseprotoc rubocop ruby_lint | | uname | Linux 691db27e7c8a 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 / f671703c7f | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | rubocop | v0.60.0 | | rubocop | https://builds.apache.org/job/PreCommit-HBASE-Build/16037/artifact/patchprocess/diff-patch-rubocop.txt | | ruby-lint | v2.3.1 | | ruby-lint | https://builds.apache.org/job/PreCommit-HBASE-Build/16037/artifact/patchprocess/diff-patch-ruby-lint.txt | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/16037/artifact/patchprocess/patch-unit-hbase-shell.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/16037/testReport/ | | Max. process+thread count | 5070 (vs. ulimit of 10000) | | modules | C: hbase-protocol-shaded hbase-hadoop-compat hbase-hadoop2-compat hbase-client hbase-server hbase-shell U: . | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/16037/console | | Powered by | Apache Yetus 0.8.0 http://yetus.apache.org | This message was automatically generated. > Several inconsistencies on information reported for Replication Sources by > hbase shell status 'replication' command. > -------------------------------------------------------------------------------------------------------------------- > > Key: HBASE-21505 > URL: https://issues.apache.org/jira/browse/HBASE-21505 > Project: HBase > Issue Type: Bug > Components: Replication > Affects Versions: 3.0.0, 1.4.6, 2.2.0 > Reporter: Wellington Chevreuil > Assignee: Wellington Chevreuil > Priority: Major > Attachments: > 0001-HBASE-21505-initial-version-for-more-detailed-report.patch, > HBASE-21505-branch-2.001.patch, HBASE-21505-master.001.patch, > HBASE-21505-master.002.patch, HBASE-21505-master.003.patch, > HBASE-21505-master.004.patch, HBASE-21505-master.005.patch, > HBASE-21505-master.006.patch, HBASE-21505-master.007.patch, > HBASE-21505-master.008.patch, HBASE-21505-master.009.patch, > HBASE-21505-master.010.patch > > > While reviewing hbase shell status 'replication' command, noticed the > following issues related to replication source section: > 1) TimeStampsOfLastShippedOp keeps getting updated and increasing even when > no new edits were added to source, so nothing was really shipped. Test steps > performed: > 1.1) Source cluster with only one table targeted to replication; > 1.2) Added a new row, confirmed the row appeared in Target cluster; > 1.3) Issued status 'replication' command in source, TimeStampsOfLastShippedOp > shows current timestamp T1. > 1.4) Waited 30 seconds, no new data added to source. Issued status > 'replication' command, now shows timestamp T2. > 2) When replication is stuck due some connectivity issues or target > unavailability, if new edits are added in source, reported AgeOfLastShippedOp > is wrongly showing same value as "Replication Lag". This is incorrect, > AgeOfLastShippedOp should not change until there's indeed another edit > shipped to target. Test steps performed: > 2.1) Source cluster with only one table targeted to replication; > 2.2) Stopped target cluster RS; > 2.3) Put a new row on source. Running status 'replication' command does show > lag increasing. TimeStampsOfLastShippedOp seems correct also, no further > updates as described on bullet #1 above. > 2.4) AgeOfLastShippedOp keeps increasing together with Replication Lag, even > though there's no new edit shipped to target: > {noformat} > ... > SOURCE: PeerID=1, AgeOfLastShippedOp=5581, SizeOfLogQueue=1, > TimeStampsOfLastShippedOp=Wed Nov 21 02:50:23 GMT 2018, Replication Lag=5581 > ... > ... > SOURCE: PeerID=1, AgeOfLastShippedOp=8586, SizeOfLogQueue=1, > TimeStampsOfLastShippedOp=Wed Nov 21 02:50:23 GMT 2018, Replication Lag=8586 > ... > {noformat} > 3) AgeOfLastShippedOp gets set to 0 even when a given edit had taken some > time before it got finally shipped to target. Test steps performed: > 3.1) Source cluster with only one table targeted to replication; > 3.2) Stopped target cluster RS; > 3.3) Put a new row on source. > 3.4) AgeOfLastShippedOp keeps increasing together with Replication Lag, even > though there's no new edit shipped to target: > {noformat} > T1: > ... > SOURCE: PeerID=1, AgeOfLastShippedOp=5581, SizeOfLogQueue=1, > TimeStampsOfLastShippedOp=Wed Nov 21 02:50:23 GMT 2018, Replication Lag=5581 > ... > T2: > ... > SOURCE: PeerID=1, AgeOfLastShippedOp=8586, SizeOfLogQueue=1, > TimeStampsOfLastShippedOp=Wed Nov 21 02:50:23 GMT 2018, Replication Lag=8586 > ... > {noformat} > 3.5) Restart target cluster RS and verified the new row appeared there. No > new edit added, but status 'replication' command reports AgeOfLastShippedOp > as 0, while it should be the diff between the time it concluded shipping at > target and the time it was added in source: > {noformat} > SOURCE: PeerID=1, AgeOfLastShippedOp=0, SizeOfLogQueue=1, > TimeStampsOfLastShippedOp=Wed Nov 21 02:50:23 GMT 2018, Replication Lag=0 > {noformat} > 4) When replication is stuck due some connectivity issues or target > unavailability, if RS is restarted, once recovered queue source is started, > TimeStampsOfLastShippedOp is set to initial java date (Thu Jan 01 01:00:00 > GMT 1970, for example), thus "Replication Lag" also gives a complete > inaccurate value. > Tests performed: > 4.1) Source cluster with only one table targeted to replication; > 4.2) Stopped target cluster RS; > 4.3) Put a new row on source, restart RS on source, waited a few seconds for > recovery queue source to startup, then it gives: > {noformat} > SOURCE: PeerID=1, AgeOfLastShippedOp=0, SizeOfLogQueue=1, > TimeStampsOfLastShippedOp=Thu Jan 01 01:00:00 GMT 1970, Replication > Lag=9223372036854775807 > {noformat} > Also, we should report status to all sources running, current output format > gives the impression there’s only one, even when there are recovery queues, > for instance. > Here is a list of ideas on how the command should report under different > states of replication: > a) Source started, target stopped, no edits arrived on source yet: > Status replication should not show any lags, no edits shipped, no edits > arrived; > b) Source started, target stopped, add edit on source: > Status replication should report following info -> lag, time of edit arrival > on source, additional message saying no edits had been shipped to target; > c) Source started, target stopped, edit added on source, restart source: > Status replication should list two sources, one normal, other recovered. > Normal source should show no lags, no edits shipped, no edits arrived. > Recovered should show no edits shipped, but should have edits arrived in > source and lag > 0; > d) Source started, target stopped, add edit on source, restart source, add > another edit on source: > Status replication should list two sources, one normal, other recovered. Both > sources should show no edits shipped, but should have edits arrived in source > and lag > 0; > e) Source started, target stopped, add edit on source, restart source, add > another edit on source, start target: > Status replication should list normal source only (after some short period), > with proper times for last shipped, last arrived in source and no replication > lag. > f) Source started, target stopped, add edit on source, restart source, > restart target: > Status replication should list normal source only, with no shipped, nor > arrived edits, and lag should be 0; -- This message was sent by Atlassian JIRA (v7.6.3#76005)