[ 
https://issues.apache.org/jira/browse/MAPREDUCE-7290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17173583#comment-17173583
 ] 

Hadoop QA commented on MAPREDUCE-7290:
--------------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
51s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} dupname {color} | {color:green}  0m  
0s{color} | {color:green} No case conflicting files found. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red}  0m  
0s{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} trunk Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  1m 
13s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 25m 
13s{color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  3m  
0s{color} | {color:green} trunk passed with JDK 
Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  2m 
18s{color} | {color:green} trunk passed with JDK Private 
Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
47s{color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green}  1m 
12s{color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 
15m 54s{color} | {color:green} branch has no errors when building and testing 
our client artifacts. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
51s{color} | {color:green} trunk passed with JDK 
Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
48s{color} | {color:green} trunk passed with JDK Private 
Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} |
| {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue}  0m 
40s{color} | {color:blue} Used deprecated FindBugs config; considering 
switching to SpotBugs. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
51s{color} | {color:green} trunk passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
26s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  2m  
6s{color} | {color:green} the patch passed with JDK 
Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  2m  
6s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
48s{color} | {color:green} the patch passed with JDK Private 
Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m 
48s{color} | {color:green} the patch passed {color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 38s{color} | {color:orange} 
hadoop-mapreduce-project/hadoop-mapreduce-client: The patch generated 49 new + 
102 unchanged - 2 fixed = 151 total (was 104) {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green}  0m 
55s{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} shadedclient {color} | {color:green} 
13m 28s{color} | {color:green} patch has no errors when building and testing 
our client artifacts. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
42s{color} | {color:green} the patch passed with JDK 
Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
41s{color} | {color:green} the patch passed with JDK Private 
Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red}  1m 
18s{color} | {color:red} 
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core 
generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0) {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}  6m 59s{color} 
| {color:red} hadoop-mapreduce-client-core in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red}  2m 30s{color} 
| {color:red} hadoop-mapreduce-client-shuffle in the patch passed. {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} 87m 54s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| FindBugs | 
module:hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core
 |
|  |  Method 
org.apache.hadoop.mapreduce.task.reduce.ShuffleHeader.readByVersion(DataInput) 
seems to be useless  At ShuffleHeader.java:useless  At ShuffleHeader.java:[line 
124] |
|  |  Method 
org.apache.hadoop.mapreduce.task.reduce.ShuffleHeader.writeByVersion(DataOutput)
 seems to be useless  At ShuffleHeader.java:useless  At 
ShuffleHeader.java:[line 147] |
|  |  org.apache.hadoop.mapreduce.task.reduce.ShuffleHeader$HeaderVersion 
defines compareTo(ShuffleHeader$HeaderVersion) and uses Object.equals()  At 
ShuffleHeader.java:Object.equals()  At ShuffleHeader.java:[lines 322-340] |
| Failed junit tests | hadoop.mapreduce.task.reduce.TestFetcher |
|   | hadoop.mapred.TestShuffleHandler |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | ClientAPI=1.40 ServerAPI=1.40 base: 
https://ci-hadoop.apache.org/job/PreCommit-MAPREDUCE-Build/5/artifact/out/Dockerfile
 |
| JIRA Issue | MAPREDUCE-7290 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/13009312/0001-MAPREDUCE-7290-ShuffleHeader-should-be-compatible-be.patch
 |
| Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite 
unit shadedclient findbugs checkstyle |
| uname | Linux bf9bd6318925 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 
16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | personality/hadoop.sh |
| git revision | trunk / 64753addba9 |
| Default Java | Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 |
| Multi-JDK versions | 
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 
/usr/lib/jvm/java-8-openjdk-amd64:Private 
Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 |
| checkstyle | 
https://ci-hadoop.apache.org/job/PreCommit-MAPREDUCE-Build/5/artifact/out/diff-checkstyle-hadoop-mapreduce-project_hadoop-mapreduce-client.txt
 |
| findbugs | 
https://ci-hadoop.apache.org/job/PreCommit-MAPREDUCE-Build/5/artifact/out/new-findbugs-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.html
 |
| unit | 
https://ci-hadoop.apache.org/job/PreCommit-MAPREDUCE-Build/5/artifact/out/patch-unit-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt
 |
| unit | 
https://ci-hadoop.apache.org/job/PreCommit-MAPREDUCE-Build/5/artifact/out/patch-unit-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-shuffle.txt
 |
|  Test Results | 
https://ci-hadoop.apache.org/job/PreCommit-MAPREDUCE-Build/5/testReport/ |
| Max. process+thread count | 1576 (vs. ulimit of 5500) |
| modules | C: 
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core 
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle
 U: hadoop-mapreduce-project/hadoop-mapreduce-client |
| Console output | 
https://ci-hadoop.apache.org/job/PreCommit-MAPREDUCE-Build/5/console |
| versions | git=2.17.1 maven=3.6.0 findbugs=4.0.6 |
| Powered by | Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org |


This message was automatically generated.



> ShuffleHeader should be compatible between client&server when rolling update
> ----------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-7290
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7290
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: mrv2
>    Affects Versions: 2.6.0
>            Reporter: chaoli
>            Priority: Major
>             Fix For: 2.9.0, 3.3.0
>
>         Attachments: 
> 0001-MAPREDUCE-7290-ShuffleHeader-should-be-compatible-be.patch
>
>
> Recently, we need to add a property in ShuffleHeader class. And there were a 
> problem that client&server may not compatible because of 
> serialization/deserialization when we were rolling update NodeManager 
> instance. 
> To solve the problem, we made an improvement to help shuffle header version 
> upgrade smoothly. 
> In HeaderVersion class, shuffle client uses *targetVersion(eg 1.2.0)* to 
> negotiate with shuffle server. In that case, shuffle server has three cases:
>  # shuffle server does not have the newest code which is able to support 
> version chosen, and we have to use *defaultVersion(eg 1.0.0)* instead*.*
>  # shuffle server can support older version(eg 1.1.0), then it can reply to 
> shuffle client with *compatibleVersion(eg 1.1.0),* and finally, client and 
> server can use the same version.
>  # shuffle server can support older version(eg 1.3.0), then it can reply to 
> shuffle client with *compatibleVersion(eg 1.2.0),* and finally, client and 
> server can use the same version.
> Then, client and server can serialize&deserialize property using the 
> available version.
>  
> {code:java}
> /**
>  * unified hard code header version for new properties.
>  * @throws IOException
>  */
> private void writeByVersion(DataOutput out) throws IOException {
>   if (headerVersion == null || 
> headerVersion.compareTo(DEFAULT_HEADER_VERSION_INSTANCE) == 0) {
>     return;
>   }
>   // if current version larger then target version,
>   // we should serialize the properties owned by the version in order.
>   if (headerVersion.compareTo(HEADER_VERSION_INSTANCE_V1_1) >= 0) {
>     // here write version properties
>   }
> }
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org

Reply via email to