[jira] [Commented] (MAPREDUCE-7442) exception message is not intusive when accessing the job configuration web UI
[ https://issues.apache.org/jira/browse/MAPREDUCE-7442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17746145#comment-17746145 ] Jiandan Yang commented on MAPREDUCE-7442: -- [~ferhui] [~slfan1989] [~yl] Thanks very much for resolving this problem. > exception message is not intusive when accessing the job configuration web UI > - > > Key: MAPREDUCE-7442 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7442 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: applicationmaster > Environment: >Reporter: Jiandan Yang >Priority: Major > Labels: pull-request-available > Attachments: image-2023-07-14-11-23-10-762.png > > > I launched a Teragen job on hadoop-3.3.4 cluster. > The web occured an error when I clicked the link of Configuration of Job. The > error page said "HTTP ERROR 500 java.lang.IllegalArgumentException: RFC6265 > Cookie values may not contain character: [ ]", and I can't find any solution > by this error message. > I found some additional stacks in the log of AM, and those stacks reflect > yarn did not have the permission of stagging directory. When I give > permission to yarn I can access configuration page. > I think the problem is that the error page does not provide useful or > meaningful prompts. > It's better if there are message about "yarn does not have hdfs permission" > in the error page. > The snapshot of error page is as follows: > !image-2023-07-14-11-23-10-762.png! > The error logs of am are as folllows: > {code:java} > 2023-07-14 11:20:08,218 ERROR [qtp1379757019-43] > org.apache.hadoop.yarn.webapp.View: Error while reading > hdfs://dmp/user/ubd_dmp_test/.staging/job_1689296289020_0006/job.xml > org.apache.hadoop.security.AccessControlException: Permission denied: > user=yarn, access=EXECUTE, > inode="/user/ubd_dmp_test/.staging":ubd_dmp_test:ubd_dmp_test:drwx-- > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:333) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermissionWithContext(FSPermissionChecker.java:370) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:240) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:713) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1892) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1910) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:727) > at > org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getBlockLocations(FSDirStatAndListingOp.java:154) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:2089) > at > org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:762) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:458) > at > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:604) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:572) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:556) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1093) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1043) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:971) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2976) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at
[jira] [Commented] (MAPREDUCE-7442) exception message is not intusive when accessing the job configuration web UI
[ https://issues.apache.org/jira/browse/MAPREDUCE-7442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17743020#comment-17743020 ] Jiandan Yang commented on MAPREDUCE-7442: -- Thank [~yl] > exception message is not intusive when accessing the job configuration web UI > - > > Key: MAPREDUCE-7442 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7442 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: applicationmaster > Environment: >Reporter: Jiandan Yang >Priority: Major > Attachments: image-2023-07-14-11-23-10-762.png > > > I launched a Teragen job on hadoop-3.3.4 cluster. > The web occured an error when I clicked the link of Configuration of Job. The > error page said "HTTP ERROR 500 java.lang.IllegalArgumentException: RFC6265 > Cookie values may not contain character: [ ]", and I can't find any solution > by this error message. > I found some additional stacks in the log of AM, and those stacks reflect > yarn did not have the permission of stagging directory. When I give > permission to yarn I can access configuration page. > I think the problem is that the error page does not provide useful or > meaningful prompts. > It's better if there are message about "yarn does not have hdfs permission" > in the error page. > The snapshot of error page is as follows: > !image-2023-07-14-11-23-10-762.png! > The error logs of am are as folllows: > {code:java} > 2023-07-14 11:20:08,218 ERROR [qtp1379757019-43] > org.apache.hadoop.yarn.webapp.View: Error while reading > hdfs://dmp/user/ubd_dmp_test/.staging/job_1689296289020_0006/job.xml > org.apache.hadoop.security.AccessControlException: Permission denied: > user=yarn, access=EXECUTE, > inode="/user/ubd_dmp_test/.staging":ubd_dmp_test:ubd_dmp_test:drwx-- > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:333) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermissionWithContext(FSPermissionChecker.java:370) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:240) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:713) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1892) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1910) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:727) > at > org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getBlockLocations(FSDirStatAndListingOp.java:154) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:2089) > at > org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:762) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:458) > at > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:604) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:572) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:556) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1093) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1043) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:971) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2976) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at >
[jira] [Assigned] (MAPREDUCE-7442) exception message is not intusive when accessing the job configuration web UI
[ https://issues.apache.org/jira/browse/MAPREDUCE-7442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang reassigned MAPREDUCE-7442: Assignee: (was: Jiandan Yang ) > exception message is not intusive when accessing the job configuration web UI > - > > Key: MAPREDUCE-7442 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7442 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: applicationmaster > Environment: >Reporter: Jiandan Yang >Priority: Major > Attachments: image-2023-07-14-11-23-10-762.png > > > I launched a Teragen job on hadoop-3.3.4 cluster. > The web occured an error when I clicked the link of Configuration of Job. The > error page said "HTTP ERROR 500 java.lang.IllegalArgumentException: RFC6265 > Cookie values may not contain character: [ ]", and I can't find any solution > by this error message. > I found some additional stacks in the log of AM, and those stacks reflect > yarn did not have the permission of stagging directory. When I give > permission to yarn I can access configuration page. > I think the problem is that the error page does not provide useful or > meaningful prompts. > It's better if there are message about "yarn does not have hdfs permission" > in the error page. > The snapshot of error page is as follows: > !image-2023-07-14-11-23-10-762.png! > The error logs of am are as folllows: > {code:java} > 2023-07-14 11:20:08,218 ERROR [qtp1379757019-43] > org.apache.hadoop.yarn.webapp.View: Error while reading > hdfs://dmp/user/ubd_dmp_test/.staging/job_1689296289020_0006/job.xml > org.apache.hadoop.security.AccessControlException: Permission denied: > user=yarn, access=EXECUTE, > inode="/user/ubd_dmp_test/.staging":ubd_dmp_test:ubd_dmp_test:drwx-- > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:333) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermissionWithContext(FSPermissionChecker.java:370) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:240) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:713) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1892) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1910) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:727) > at > org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getBlockLocations(FSDirStatAndListingOp.java:154) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:2089) > at > org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:762) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:458) > at > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:604) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:572) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:556) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1093) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1043) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:971) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2976) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at >
[jira] [Assigned] (MAPREDUCE-7442) exception message is not intusive when accessing the job configuration web UI
[ https://issues.apache.org/jira/browse/MAPREDUCE-7442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang reassigned MAPREDUCE-7442: Assignee: Jiandan Yang > exception message is not intusive when accessing the job configuration web UI > - > > Key: MAPREDUCE-7442 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7442 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: applicationmaster > Environment: >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: image-2023-07-14-11-23-10-762.png > > > I launched a Teragen job on hadoop-3.3.4 cluster. > The web occured an error when I clicked the link of Configuration of Job. The > error page said "HTTP ERROR 500 java.lang.IllegalArgumentException: RFC6265 > Cookie values may not contain character: [ ]", and I can't find any solution > by this error message. > I found some additional stacks in the log of AM, and those stacks reflect > yarn did not have the permission of stagging directory. When I give > permission to yarn I can access configuration page. > I think the problem is that the error page does not provide useful or > meaningful prompts. > It's better if there are message about "yarn does not have hdfs permission" > in the error page. > The snapshot of error page is as follows: > !image-2023-07-14-11-23-10-762.png! > The error logs of am are as folllows: > {code:java} > 2023-07-14 11:20:08,218 ERROR [qtp1379757019-43] > org.apache.hadoop.yarn.webapp.View: Error while reading > hdfs://dmp/user/ubd_dmp_test/.staging/job_1689296289020_0006/job.xml > org.apache.hadoop.security.AccessControlException: Permission denied: > user=yarn, access=EXECUTE, > inode="/user/ubd_dmp_test/.staging":ubd_dmp_test:ubd_dmp_test:drwx-- > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:333) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermissionWithContext(FSPermissionChecker.java:370) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:240) > at > org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:713) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1892) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1910) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:727) > at > org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getBlockLocations(FSDirStatAndListingOp.java:154) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:2089) > at > org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:762) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:458) > at > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:604) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:572) > at > org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:556) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1093) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1043) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:971) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2976) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at >
[jira] [Updated] (MAPREDUCE-7442) exception message is not intusive when accessing the job configuration web UI
[ https://issues.apache.org/jira/browse/MAPREDUCE-7442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7442: - Description: I launched a Teragen job on hadoop-3.3.4 cluster. The web occured an error when I clicked the link of Configuration of Job. The error page said "HTTP ERROR 500 java.lang.IllegalArgumentException: RFC6265 Cookie values may not contain character: [ ]", and I can't find any solution by this error message. I found some additional stacks in the log of AM, and those stacks reflect yarn did not have the permission of stagging directory. When I give permission to yarn I can access configuration page. I think the problem is that the error page does not provide useful or meaningful prompts. It's better if there are message about "yarn does not have hdfs permission" in the error page. The snapshot of error page is as follows: !image-2023-07-14-11-23-10-762.png! The error logs of am are as folllows: {code:java} 2023-07-14 11:20:08,218 ERROR [qtp1379757019-43] org.apache.hadoop.yarn.webapp.View: Error while reading hdfs://dmp/user/ubd_dmp_test/.staging/job_1689296289020_0006/job.xml org.apache.hadoop.security.AccessControlException: Permission denied: user=yarn, access=EXECUTE, inode="/user/ubd_dmp_test/.staging":ubd_dmp_test:ubd_dmp_test:drwx-- at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:333) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermissionWithContext(FSPermissionChecker.java:370) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:240) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:713) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1892) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1910) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:727) at org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getBlockLocations(FSDirStatAndListingOp.java:154) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:2089) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:762) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:458) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:604) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:572) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:556) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1093) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1043) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:971) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2976) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:121) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:88) at org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:902) at org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:889) at org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:878) at org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1046) at org.apache.hadoop.fs.Hdfs.open(Hdfs.java:373) at org.apache.hadoop.fs.Hdfs.open(Hdfs.java:60) at org.apache.hadoop.fs.AbstractFileSystem.open(AbstractFileSystem.java:670)
[jira] [Updated] (MAPREDUCE-7442) exception message is not intusive when accessing the job configuration web UI
[ https://issues.apache.org/jira/browse/MAPREDUCE-7442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7442: - Description: I launched a Teragen job on hadoop-3.3.4 cluster. The web occured an error when I clicked the link of Configuration of Job. The error page said "HTTP ERROR 500 java.lang.IllegalArgumentException: RFC6265 Cookie values may not contain character: [ ]", and I can't find a solution by this error message. I found some additional stacks in the log of AM, and those stacks reflect yarn did not have the permission of stagging directory. When I give permission to yarn I can access configuration page. I think the problem is that the error page does not provide useful or meaningful prompts. It's better if there are message about "yarn does not have hdfs permission" in the error page. The snapshot of error page is as follows: !image-2023-07-14-11-23-10-762.png! The error logs of am are as folllows: {code:java} 2023-07-14 11:20:08,218 ERROR [qtp1379757019-43] org.apache.hadoop.yarn.webapp.View: Error while reading hdfs://dmp/user/ubd_dmp_test/.staging/job_1689296289020_0006/job.xml org.apache.hadoop.security.AccessControlException: Permission denied: user=yarn, access=EXECUTE, inode="/user/ubd_dmp_test/.staging":ubd_dmp_test:ubd_dmp_test:drwx-- at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:333) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermissionWithContext(FSPermissionChecker.java:370) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:240) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:713) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1892) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1910) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:727) at org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getBlockLocations(FSDirStatAndListingOp.java:154) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:2089) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:762) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:458) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:604) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:572) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:556) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1093) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1043) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:971) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2976) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:121) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:88) at org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:902) at org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:889) at org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:878) at org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1046) at org.apache.hadoop.fs.Hdfs.open(Hdfs.java:373) at org.apache.hadoop.fs.Hdfs.open(Hdfs.java:60) at org.apache.hadoop.fs.AbstractFileSystem.open(AbstractFileSystem.java:670)
[jira] [Created] (MAPREDUCE-7442) exception message is not intusive when accessing the job configuration web UI
Jiandan Yang created MAPREDUCE-7442: Summary: exception message is not intusive when accessing the job configuration web UI Key: MAPREDUCE-7442 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7442 Project: Hadoop Map/Reduce Issue Type: Bug Components: applicationmaster Environment: Reporter: Jiandan Yang Attachments: image-2023-07-14-11-23-10-762.png I launched a Teragen job on hadoop-3.3.4 cluster. The web occured an error when I clicked the link of Configuration of Job. The error page said "HTTP ERROR 500 java.lang.IllegalArgumentException: RFC6265 Cookie values may not contain character: [ ]", and I can't find a solution by this error message. I found some additional stacks in the log of AM, and those stacks reflect yarn did not have the permission of stagging directory. When I give permission to yarn I can access configuration page. I think the problem is that the error page does not provide useful or meaningful prompts. It's better if there are message about "yarn does not have hdfs permission" in the error page. The snapshot of error page is as follows: !image-2023-07-14-11-23-10-762.png! The error logs of am are as folllows: {code:java} 2023-07-14 11:20:08,218 ERROR [qtp1379757019-43] org.apache.hadoop.yarn.webapp.View: Error while reading hdfs://dmp/user/ubd_dmp_test/.staging/job_1689296289020_0006/job.xml org.apache.hadoop.security.AccessControlException: Permission denied: user=yarn, access=EXECUTE, inode="/user/ubd_dmp_test/.staging":ubd_dmp_test:ubd_dmp_test:drwx-- at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:333) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermissionWithContext(FSPermissionChecker.java:370) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:240) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:713) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1892) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1910) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:727) at org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getBlockLocations(FSDirStatAndListingOp.java:154) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:2089) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:762) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:458) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:604) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:572) at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:556) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1093) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1043) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:971) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2976) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:121) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:88) at org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:902) at org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:889) at
[jira] [Commented] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
[ https://issues.apache.org/jira/browse/MAPREDUCE-7191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16789245#comment-16789245 ] Jiandan Yang commented on MAPREDUCE-7191: -- Thanks [~cheersyang] for your review very much. > JobHistoryServer should log exception when loading/parsing history file failed > -- > > Key: MAPREDUCE-7191 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7191 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7191.001.patch, MAPREDUCE-7191.002.patch > > > I'm test rolling 2.7.2 to 3.2.0. > RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. > When submitting MR job using 3.2.0 client I found JobHistory URL could not > open, and in webpage showing "Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" > There are only loading log just like following and no exception info in log > file of JobHistoryServer. > {code:java} > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading job: job_1551697798944_0020 from file: > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading history file: > [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] > {code} > After I add some log when loading history file failed I get following > exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using > *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 > client configuration, I can get job info from jhs. > There is still no log in Hadoop-3.2.0, I think it's very helpful to add some > log to debug. > Loading jhist file Exception is follows: > {code:java} > 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > java.io.IOException: Incompatible event log version: Avro-Binary > at > org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) > at > org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) > at > org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) > at > com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) > at > com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) > at > com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) > at com.google.common.cache.LocalCache.get(LocalCache.java:3965) > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) > at > com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) > at > com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) > at > org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) > at > org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail:
[jira] [Commented] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
[ https://issues.apache.org/jira/browse/MAPREDUCE-7192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16787798#comment-16787798 ] Jiandan Yang commented on MAPREDUCE-7192: -- [~cheersyang] Could you please help me review this patch? > JobHistoryServer attempts page support jump to containers log page in NM > when logAggregation is disable > > > Key: MAPREDUCE-7192 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7192.001.patch, MAPREDUCE-7192.002.patch, > container_log_page.png > > > when yarn.log-aggregation-enable is false, we can not view containers' logs > even through there are log files of container in the NM in HistoryServer. Web > page is below when clicking logs url. > !container_log_page.png! > This patch can jump to containers log url of NM when > yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Commented] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
[ https://issues.apache.org/jira/browse/MAPREDUCE-7192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16787743#comment-16787743 ] Jiandan Yang commented on MAPREDUCE-7192: -- Jenkins took container_log_page.png as patch file, uploading the same patch to rerun jenkins. > JobHistoryServer attempts page support jump to containers log page in NM > when logAggregation is disable > > > Key: MAPREDUCE-7192 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7192.001.patch, MAPREDUCE-7192.002.patch, > container_log_page.png > > > when yarn.log-aggregation-enable is false, we can not view containers' logs > even through there are log files of container in the NM in HistoryServer. Web > page is below when clicking logs url. > !container_log_page.png! > This patch can jump to containers log url of NM when > yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
[ https://issues.apache.org/jira/browse/MAPREDUCE-7192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7192: - Attachment: MAPREDUCE-7192.002.patch > JobHistoryServer attempts page support jump to containers log page in NM > when logAggregation is disable > > > Key: MAPREDUCE-7192 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7192.001.patch, MAPREDUCE-7192.002.patch, > container_log_page.png > > > when yarn.log-aggregation-enable is false, we can not view containers' logs > even through there are log files of container in the NM in HistoryServer. Web > page is below when clicking logs url. > !container_log_page.png! > This patch can jump to containers log url of NM when > yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
[ https://issues.apache.org/jira/browse/MAPREDUCE-7192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7192: - Description: when yarn.log-aggregation-enable is false, we can not view containers' logs even through there are log files of container in the NM in HistoryServer. Web page is below when clicking logs url. !container_log_page.png! This patch can jump to containers log url of NM when yarn.log-aggregation-enable=false was: when yarn.log-aggregation-enable is false, we can not view containers' logs even through there are log files of container in the NM in HistoryServer. Web page is like !container_log_page.png! when clicking logs url. This patch can jump to containers log url of NM when yarn.log-aggregation-enable=false > JobHistoryServer attempts page support jump to containers log page in NM > when logAggregation is disable > > > Key: MAPREDUCE-7192 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7192.001.patch, container_log_page.png > > > when yarn.log-aggregation-enable is false, we can not view containers' logs > even through there are log files of container in the NM in HistoryServer. Web > page is below when clicking logs url. > !container_log_page.png! > This patch can jump to containers log url of NM when > yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
[ https://issues.apache.org/jira/browse/MAPREDUCE-7192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7192: - Description: when yarn.log-aggregation-enable is false, we can not view containers' logs even through there are log files of container in the NM in HistoryServer. Web page is like !container_log_page.png! when clicking logs url. This patch can jump to containers log url of NM when yarn.log-aggregation-enable=false was: when yarn.log-aggregation-enable is false, we can not view containers' logs even through there are log files of container in the NM in HistoryServer, . This patch can jump to containers log url of NM when yarn.log-aggregation-enable=false > JobHistoryServer attempts page support jump to containers log page in NM > when logAggregation is disable > > > Key: MAPREDUCE-7192 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7192.001.patch, container_log_page.png > > > when yarn.log-aggregation-enable is false, we can not view containers' logs > even through there are log files of container in the NM in HistoryServer. Web > page is like !container_log_page.png! when clicking logs url. > This patch can jump to containers log url of NM when > yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
[ https://issues.apache.org/jira/browse/MAPREDUCE-7192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7192: - Attachment: container_log_page.png > JobHistoryServer attempts page support jump to containers log page in NM > when logAggregation is disable > > > Key: MAPREDUCE-7192 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7192.001.patch, container_log_page.png > > > when yarn.log-aggregation-enable is false, we can not view containers' logs > even through there are log files of container in the NM in HistoryServer, . > This patch can jump to containers log url of NM when > yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
[ https://issues.apache.org/jira/browse/MAPREDUCE-7192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7192: - Description: when yarn.log-aggregation-enable is false, we can not view containers' logs even through there are log files of container in the NM in HistoryServer, . This patch can jump to containers log url of NM when yarn.log-aggregation-enable=false was: when yarn.log-aggregation-enable is false, we can not view containers' logs even through there are log files of container in the NM in HistoryServer. This patch can jump to containers log url of NM when yarn.log-aggregation-enable=false > JobHistoryServer attempts page support jump to containers log page in NM > when logAggregation is disable > > > Key: MAPREDUCE-7192 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7192.001.patch > > > when yarn.log-aggregation-enable is false, we can not view containers' logs > even through there are log files of container in the NM in HistoryServer, . > This patch can jump to containers log url of NM when > yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
[ https://issues.apache.org/jira/browse/MAPREDUCE-7192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7192: - Attachment: MAPREDUCE-7192.001.patch Status: Patch Available (was: Open) > JobHistoryServer attempts page support jump to containers log page in NM > when logAggregation is disable > > > Key: MAPREDUCE-7192 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7192.001.patch > > > when yarn.log-aggregation-enable is false, we can not view containers' logs > even through there are log files of container in the NM in HistoryServer. > This patch can jump to containers log url of NM when > yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Created] (MAPREDUCE-7192) JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable
Jiandan Yang created MAPREDUCE-7192: Summary: JobHistoryServer attempts page support jump to containers log page in NM when logAggregation is disable Key: MAPREDUCE-7192 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7192 Project: Hadoop Map/Reduce Issue Type: Improvement Components: mrv2 Reporter: Jiandan Yang Assignee: Jiandan Yang when yarn.log-aggregation-enable is false, we can not view containers' logs even through there are log files of container in the NM in HistoryServer. This patch can jump to containers log url of NM when yarn.log-aggregation-enable=false -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Commented] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
[ https://issues.apache.org/jira/browse/MAPREDUCE-7191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16787688#comment-16787688 ] Jiandan Yang commented on MAPREDUCE-7191: -- Thanks [~cheersyang]. The stack trace is really old code, but the trunk has the same problem. if we do not log, parsing jhist file failed will not print any log when getting job by webui of historyserver. It's very difficult to debug. > JobHistoryServer should log exception when loading/parsing history file failed > -- > > Key: MAPREDUCE-7191 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7191 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7191.001.patch, MAPREDUCE-7191.002.patch > > > I'm test rolling 2.7.2 to 3.2.0. > RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. > When submitting MR job using 3.2.0 client I found JobHistory URL could not > open, and in webpage showing "Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" > There are only loading log just like following and no exception info in log > file of JobHistoryServer. > {code:java} > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading job: job_1551697798944_0020 from file: > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading history file: > [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] > {code} > After I add some log when loading history file failed I get following > exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using > *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 > client configuration, I can get job info from jhs. > There is still no log in Hadoop-3.2.0, I think it's very helpful to add some > log to debug. > Loading jhist file Exception is follows: > {code:java} > 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > java.io.IOException: Incompatible event log version: Avro-Binary > at > org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) > at > org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) > at > org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) > at > com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) > at > com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) > at > com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) > at com.google.common.cache.LocalCache.get(LocalCache.java:3965) > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) > at > com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) > at > com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) > at > org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) > at > org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > {code} -- This
[jira] [Commented] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
[ https://issues.apache.org/jira/browse/MAPREDUCE-7191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16787439#comment-16787439 ] Jiandan Yang commented on MAPREDUCE-7191: -- [~cheersyang] Could you help me review this patch? > JobHistoryServer should log exception when loading/parsing history file failed > -- > > Key: MAPREDUCE-7191 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7191 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7191.001.patch, MAPREDUCE-7191.002.patch > > > I'm test rolling 2.7.2 to 3.2.0. > RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. > When submitting MR job using 3.2.0 client I found JobHistory URL could not > open, and in webpage showing "Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" > There are only loading log just like following and no exception info in log > file of JobHistoryServer. > {code:java} > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading job: job_1551697798944_0020 from file: > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading history file: > [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] > {code} > After I add some log when loading history file failed I get following > exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using > *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 > client configuration, I can get job info from jhs. > There is still no log in Hadoop-3.2.0, I think it's very helpful to add some > log to debug. > Loading jhist file Exception is follows: > {code:java} > 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > java.io.IOException: Incompatible event log version: Avro-Binary > at > org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) > at > org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) > at > org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) > at > com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) > at > com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) > at > com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) > at com.google.common.cache.LocalCache.get(LocalCache.java:3965) > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) > at > com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) > at > com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) > at > org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) > at > org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail:
[jira] [Commented] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
[ https://issues.apache.org/jira/browse/MAPREDUCE-7191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16786296#comment-16786296 ] Jiandan Yang commented on MAPREDUCE-7191: -- fix whitespace and checkstyle issue in patch2 > JobHistoryServer should log exception when loading/parsing history file failed > -- > > Key: MAPREDUCE-7191 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7191 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7191.001.patch, MAPREDUCE-7191.002.patch > > > I'm test rolling 2.7.2 to 3.2.0. > RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. > When submitting MR job using 3.2.0 client I found JobHistory URL could not > open, and in webpage showing "Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" > There are only loading log just like following and no exception info in log > file of JobHistoryServer. > {code:java} > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading job: job_1551697798944_0020 from file: > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading history file: > [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] > {code} > After I add some log when loading history file failed I get following > exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using > *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 > client configuration, I can get job info from jhs. > There is still no log in Hadoop-3.2.0, I think it's very helpful to add some > log to debug. > Loading jhist file Exception is follows: > {code:java} > 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > java.io.IOException: Incompatible event log version: Avro-Binary > at > org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) > at > org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) > at > org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) > at > com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) > at > com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) > at > com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) > at com.google.common.cache.LocalCache.get(LocalCache.java:3965) > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) > at > com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) > at > com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) > at > org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) > at > org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
[ https://issues.apache.org/jira/browse/MAPREDUCE-7191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7191: - Attachment: MAPREDUCE-7191.002.patch > JobHistoryServer should log exception when loading/parsing history file failed > -- > > Key: MAPREDUCE-7191 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7191 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7191.001.patch, MAPREDUCE-7191.002.patch > > > I'm test rolling 2.7.2 to 3.2.0. > RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. > When submitting MR job using 3.2.0 client I found JobHistory URL could not > open, and in webpage showing "Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" > There are only loading log just like following and no exception info in log > file of JobHistoryServer. > {code:java} > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading job: job_1551697798944_0020 from file: > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading history file: > [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] > {code} > After I add some log when loading history file failed I get following > exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using > *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 > client configuration, I can get job info from jhs. > There is still no log in Hadoop-3.2.0, I think it's very helpful to add some > log to debug. > Loading jhist file Exception is follows: > {code:java} > 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > java.io.IOException: Incompatible event log version: Avro-Binary > at > org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) > at > org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) > at > org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) > at > com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) > at > com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) > at > com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) > at com.google.common.cache.LocalCache.get(LocalCache.java:3965) > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) > at > com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) > at > com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) > at > org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) > at > org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail:
[jira] [Updated] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
[ https://issues.apache.org/jira/browse/MAPREDUCE-7191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7191: - Description: I'm test rolling 2.7.2 to 3.2.0. RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. When submitting MR job using 3.2.0 client I found JobHistory URL could not open, and in webpage showing "Could not load history file hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" There are only loading log just like following and no exception info in log file of JobHistoryServer. {code:java} 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading job: job_1551697798944_0020 from file: hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading history file: [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] {code} After I add some log when loading history file failed I get following exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 client configuration, I can get job info from jhs. There is still no log in Hadoop-3.2.0, I think it's very helpful to add some log to debug. Loading jhist file Exception is follows: {code:java} 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Could not load history file hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist java.io.IOException: Incompatible event log version: Avro-Binary at org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) at org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) at org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) at org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) at org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) at com.google.common.cache.LocalCache.get(LocalCache.java:3965) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) at com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) at org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) at org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) at org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) at org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) {code} was: I'm test rolling 2.7.2 to 3.2.0. RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. When submitting MR job using 3.2.0 client I found JobHistory URL could not open, and showing "Could not load history file hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" There are only loading log just like following and no exception info in log file of JobHistoryServer. {code:java} 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading job: job_1551697798944_0020 from file: hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading history file: [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] {code} After I add some log when loading history file failed I get
[jira] [Updated] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
[ https://issues.apache.org/jira/browse/MAPREDUCE-7191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7191: - Attachment: MAPREDUCE-7191.001.patch Status: Patch Available (was: Open) > JobHistoryServer should log exception when loading/parsing history file failed > -- > > Key: MAPREDUCE-7191 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7191 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: mrv2 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Major > Attachments: MAPREDUCE-7191.001.patch > > > I'm test rolling 2.7.2 to 3.2.0. > RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. > When submitting MR job using 3.2.0 client I found JobHistory URL could not > open, and showing "Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" > There are only loading log just like following and no exception info in log > file of JobHistoryServer. > {code:java} > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading job: job_1551697798944_0020 from file: > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Loading history file: > [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] > {code} > After I add some log when loading history file failed I get following > exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using > *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 > client configuration, I can get job info from jhs. > There is still no log in Hadoop-3.2.0, I think it's very helpful to add some > log to debug. > Loading jhist file Exception is follows: > {code:java} > 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: > Could not load history file > hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist > java.io.IOException: Incompatible event log version: Avro-Binary > at > org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) > at > org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) > at > org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) > at > org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) > at > com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) > at > com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) > at > com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) > at com.google.common.cache.LocalCache.get(LocalCache.java:3965) > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) > at > com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) > at > com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) > at > org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) > at > org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) > at > org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) > at > org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail:
[jira] [Updated] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
[ https://issues.apache.org/jira/browse/MAPREDUCE-7191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7191: - Description: I'm test rolling 2.7.2 to 3.2.0. RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. When submitting MR job using 3.2.0 client I found JobHistory URL could not open, and showing "Could not load history file hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" There are only loading log just like following and no exception info in log file of JobHistoryServer. {code:java} 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading job: job_1551697798944_0020 from file: hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading history file: [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] {code} After I add some log when loading history file failed I get following exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 client configuration, I can get job info from jhs. There is still no log in Hadoop-3.2.0, I think it's very helpful to add some log to debug. Loading jhist file Exception is follows: {code:java} 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Could not load history file hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist java.io.IOException: Incompatible event log version: Avro-Binary at org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) at org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) at org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) at org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) at org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) at com.google.common.cache.LocalCache.get(LocalCache.java:3965) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) at com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) at org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) at org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) at org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) at org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) {code} was: I'm test rolling 2.7.2 to 3.2.0. RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. When submitting MR job using 3.2.0 client I found JobHistory URL could not open, and showing "Could not load history file hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" There are only loading log just like following and no exception info in log file of JobHistoryServer. {code:java} 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading job: job_1551697798944_0020 from file: hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading history file: [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] {code} After I add some log when loading history file failed I get following
[jira] [Created] (MAPREDUCE-7191) JobHistoryServer should log exception when loading/parsing history file failed
Jiandan Yang created MAPREDUCE-7191: Summary: JobHistoryServer should log exception when loading/parsing history file failed Key: MAPREDUCE-7191 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7191 Project: Hadoop Map/Reduce Issue Type: Improvement Components: mrv2 Reporter: Jiandan Yang Assignee: Jiandan Yang I'm test rolling 2.7.2 to 3.2.0. RM& NM has upgrade to 3.2.0, JobHistoryServer is still 2.7.2. When submitting MR job using 3.2.0 client I found JobHistory URL could not open, and showing "Could not load history file hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist" There are only loading log just like following and no exception info in log file of JobHistoryServer. {code:java} 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading job: job_1551697798944_0020 from file: hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist 2019-03-06 16:24:19,489 INFO org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Loading history file: [hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist] {code} After I add some log when loading history file failed I get following exception. 3.2.0 write jhist files using *binary* format, but 2.7.2 using *json* format. After I set mapreduce.jobhistory.jhist.format=json in 3.2.0 client configuration, I can get job info from jhs. There is still no log in Hadoop-3.2.0, I think it's very helpful to add some log to debug. Loading jhist file Exception is follows: {code:java} 2019-03-06 16:51:55,664 WARN org.apache.hadoop.mapreduce.v2.hs.CompletedJob: Could not load history file hdfs://NameNode:8020/tmp/hadoop-yarn/staging/history3/done/2019/03/06/00/job_1551697798944_0020.jhist java.io.IOException: Incompatible event log version: Avro-Binary at org.apache.hadoop.mapreduce.jobhistory.EventReader.(EventReader.java:71) at org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.parse(JobHistoryParser.java:139) at org.apache.hadoop.mapreduce.v2.hs.CompletedJob.loadFullHistoryData(CompletedJob.java:347) at org.apache.hadoop.mapreduce.v2.hs.CompletedJob.(CompletedJob.java:101) at org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo.loadJob(HistoryFileManager.java:450) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.loadJob(CachedHistoryStorage.java:180) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.access$000(CachedHistoryStorage.java:52) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:103) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage$1.load(CachedHistoryStorage.java:100) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) at com.google.common.cache.LocalCache.get(LocalCache.java:3965) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) at com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) at org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getFullJob(CachedHistoryStorage.java:193) at org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:217) at org.apache.hadoop.mapreduce.v2.app.webapp.AppController.requireJob(AppController.java:381) at org.apache.hadoop.mapreduce.v2.app.webapp.AppController.job(AppController.java:108) at org.apache.hadoop.mapreduce.v2.hs.webapp.HsController.job(HsController.java:104) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) {java} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: MAPREDUCE-7059.006.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch, MAPREDUCE-7059.004.patch, MAPREDUCE-7059.005.patch, > MAPREDUCE-7059.006.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665)
[jira] [Commented] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16379663#comment-16379663 ] Jiandan Yang commented on MAPREDUCE-7059: -- Thank [~leftnoteasy] for giving permission to assign. Thank [~cheersyang] for careful review. Absolutely agree with you, I'll upload a new patch according to your opinion soon. > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Assignee: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch, MAPREDUCE-7059.004.patch, MAPREDUCE-7059.005.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at >
[jira] [Commented] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16378301#comment-16378301 ] Jiandan Yang commented on MAPREDUCE-7059: -- No UT added, but I run teragen successfully in my test env using yarn-3.x and hdfs-2.8 > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch, MAPREDUCE-7059.004.patch, MAPREDUCE-7059.005.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at >
[jira] [Commented] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16378280#comment-16378280 ] Jiandan Yang commented on MAPREDUCE-7059: -- fix checkstyle error again and upload 005.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch, MAPREDUCE-7059.004.patch, MAPREDUCE-7059.005.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: MAPREDUCE-7059.005.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch, MAPREDUCE-7059.004.patch, MAPREDUCE-7059.005.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at >
[jira] [Comment Edited] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16378188#comment-16378188 ] Jiandan Yang edited comment on MAPREDUCE-7059 at 2/27/18 8:46 AM: --- [~leftnoteasy], [~cheersyang], [~jlowe], Please help me review this patch, thanks. was (Author: yangjiandan): [~leftnoteasy] [~cheersyang] Please help me review this patch, thanks. > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch, MAPREDUCE-7059.004.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: MAPREDUCE-7059.004.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch, MAPREDUCE-7059.004.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at >
[jira] [Commented] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16378244#comment-16378244 ] Jiandan Yang commented on MAPREDUCE-7059: -- fix checkstyle error and upload 004.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch, MAPREDUCE-7059.004.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: MAPREDUCE-7059.003.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch, > MAPREDUCE-7059.003.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: (was: MAPREDUCE-7059.002.patch) > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: MAPREDUCE-7059.002.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Critical > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at >
[jira] [Commented] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16378188#comment-16378188 ] Jiandan Yang commented on MAPREDUCE-7059: -- [~leftnoteasy] [~cheersyang] Please help me review this patch, thanks. > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at >
[jira] [Issue Comment Deleted] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Comment: was deleted (was: Hi, [~shahrs87] [~jlowe] Please help me review this patch, thanks.) > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) > { > throw e; > } else { > LOG.warn( > "hdfs server does not have method disableErasureCodingForPath," > + " and skip disableErasureCodingForPath", e); > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Description: Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. {code:java} bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen 10 /teragen {code} The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. one solution is parsing RemoteException in JobResourceUploader#disableErasure like this: {code:java} private void disableErasureCodingForPath(FileSystem fs, Path path) throws IOException { try { if (jtFs instanceof DistributedFileSystem) { LOG.info("Disabling Erasure Coding for path: " + path); DistributedFileSystem dfs = (DistributedFileSystem) jtFs; dfs.setErasureCodingPolicy(path, SystemErasureCodingPolicies.getReplicationPolicy().getName()); } } catch (RemoteException e) { if (!e.getClassName().equals(RpcNoSuchMethodException.class.getName())) { throw e; } else { LOG.warn( "hdfs server does not have method disableErasureCodingForPath," + " and skip disableErasureCodingForPath", e); } } } {code} Does anyone have better solution? The detailed exception trace is: {code:java} 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): Unknown method setErasureCodingPolicy called on org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) at org.apache.hadoop.ipc.Client.call(Client.java:1437) at org.apache.hadoop.ipc.Client.call(Client.java:1347) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) at org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) at org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) at org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) at org.apache.hadoop.hdfs.DistributedFileSystem.setErasureCodingPolicy(DistributedFileSystem.java:2680) at org.apache.hadoop.mapreduce.JobResourceUploader.disableErasureCodingForPath(JobResourceUploader.java:882) at org.apache.hadoop.mapreduce.JobResourceUploader.uploadResourcesInternal(JobResourceUploader.java:174) at org.apache.hadoop.mapreduce.JobResourceUploader.uploadResources(JobResourceUploader.java:131) at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:102) at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:197) at
[jira] [Commented] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16378169#comment-16378169 ] Jiandan Yang commented on MAPREDUCE-7059: -- use org.apache.hadoop.ipc.RemoteException instead of java.rmi.RemoteException in 002.patch. and I run teragen successfully in my test env. > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!(e.getCause() instanceof RpcNoSuchMethodException)) { > throw e; > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: MAPREDUCE-7059.002.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!(e.getCause() instanceof RpcNoSuchMethodException)) { > throw e; > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) > at > org.apache.hadoop.hdfs.DistributedFileSystem.setErasureCodingPolicy(DistributedFileSystem.java:2680) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: (was: MAPREDUCE-7059.002.patch) > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!(e.getCause() instanceof RpcNoSuchMethodException)) { > throw e; > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) > at > org.apache.hadoop.hdfs.DistributedFileSystem.setErasureCodingPolicy(DistributedFileSystem.java:2680) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: MAPREDUCE-7059.002.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch, MAPREDUCE-7059.002.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!(e.getCause() instanceof RpcNoSuchMethodException)) { > throw e; > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) > at > org.apache.hadoop.hdfs.DistributedFileSystem.setErasureCodingPolicy(DistributedFileSystem.java:2680) > at >
[jira] [Commented] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16378065#comment-16378065 ] Jiandan Yang commented on MAPREDUCE-7059: -- Hi, [~shahrs87] [~jlowe] Please help me review this patch, thanks. > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!(e.getCause() instanceof RpcNoSuchMethodException)) { > throw e; > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Status: Patch Available (was: Open) > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!(e.getCause() instanceof RpcNoSuchMethodException)) { > throw e; > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) > at > org.apache.hadoop.hdfs.DistributedFileSystem.setErasureCodingPolicy(DistributedFileSystem.java:2680) > at >
[jira] [Updated] (MAPREDUCE-7059) Compatibility issue: job submission fails with RpcNoSuchMethodException when submitting to 2.x cluster
[ https://issues.apache.org/jira/browse/MAPREDUCE-7059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiandan Yang updated MAPREDUCE-7059: - Attachment: MAPREDUCE-7059.001.patch > Compatibility issue: job submission fails with RpcNoSuchMethodException when > submitting to 2.x cluster > -- > > Key: MAPREDUCE-7059 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7059 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: job submission >Affects Versions: 3.0.0 >Reporter: Jiandan Yang >Priority: Minor > Attachments: MAPREDUCE-7059.001.patch > > > Running teragen failed in the version of hadoop-3.1, and hdfs server is 2.8. > {code:java} > bin/hadoop jar > share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0-SNAPSHOT.jar teragen > 10 /teragen > {code} > The reason of failing is 2.8 HDFS does not have setErasureCodingPolicy. > one solution is parsing RemoteException in > JobResourceUploader#disableErasure like this: > {code:java} > private void disableErasureCodingForPath(FileSystem fs, Path path) > throws IOException { > try { > if (jtFs instanceof DistributedFileSystem) { > LOG.info("Disabling Erasure Coding for path: " + path); > DistributedFileSystem dfs = (DistributedFileSystem) jtFs; > dfs.setErasureCodingPolicy(path, > SystemErasureCodingPolicies.getReplicationPolicy().getName()); > } > } catch (RemoteException e) { > if (!(e.getCause() instanceof RpcNoSuchMethodException)) { > throw e; > } > } > } > {code} > Does anyone have better solution? > The detailed exception trace is: > {code:java} > 2018-02-26 11:22:53,178 INFO mapreduce.JobSubmitter: Cleaning up the staging > area /tmp/hadoop-yarn/staging/hadoop/.staging/job_1518615699369_0006 > org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcNoSuchMethodException): > Unknown method setErasureCodingPolicy called on > org.apache.hadoop.hdfs.protocol.ClientProtocol protocol. > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:436) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:846) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:789) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1804) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2457) > at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1491) > at org.apache.hadoop.ipc.Client.call(Client.java:1437) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setErasureCodingPolicy(ClientNamenodeProtocolTranslatorPB.java:1583) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) > at > org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) > at com.sun.proxy.$Proxy12.setErasureCodingPolicy(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient.setErasureCodingPolicy(DFSClient.java:2678) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2665) > at > org.apache.hadoop.hdfs.DistributedFileSystem$63.doCall(DistributedFileSystem.java:2662) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) > at > org.apache.hadoop.hdfs.DistributedFileSystem.setErasureCodingPolicy(DistributedFileSystem.java:2680) > at >