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

Steve Loughran commented on SLIDER-462:
---------------------------------------

marking as duplicate of SLIDER-274

> Slider flex with an invalid component/role name actually tries to add the new 
> role
> ----------------------------------------------------------------------------------
>
>                 Key: SLIDER-462
>                 URL: https://issues.apache.org/jira/browse/SLIDER-462
>             Project: Slider
>          Issue Type: Bug
>    Affects Versions: Slider 0.50
>            Reporter: Gour Saha
>            Assignee: Gour Saha
>             Fix For: Slider 0.60
>
>
> Setup -
> A cluster with HBase deployed using Slider
> Ran the following -
> {noformat}
> ./slider flex cl1 --component INVALID_COMPONENT_NAME 2
> {noformat}
> It threw an exception on the console as below -
> {color:red}
> {noformat}
> slider_home = "/vagrant/slider_home/slider-0.51.0-incubating-SNAPSHOT"
> slider_jvm_opts = "-Djava.net.preferIPv4Stack=true -Djava.awt.headless=true 
> -Xmx256m 
> -Djava.confdir=/vagrant/slider_home/slider-0.51.0-incubating-SNAPSHOT/conf"
> classpath = 
> "/vagrant/slider_home/slider-0.51.0-incubating-SNAPSHOT/lib/*:/vagrant/slider_home/slider-0.51.0-incubating-SNAPSHOT/conf::"
> command is java -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true 
> -Xmx256m 
> -Djava.confdir=/vagrant/slider_home/slider-0.51.0-incubating-SNAPSHOT/conf 
> --classpath 
> "/vagrant/slider_home/slider-0.51.0-incubating-SNAPSHOT/lib/*:/vagrant/slider_home/slider-0.51.0-incubating-SNAPSHOT/conf::"
>  org.apache.slider.Slider flex cl1 --component INVALID_COMPONENT_NAME 2
> 2014-09-26 21:04:42,353 [main] INFO  client.RMProxy - Connecting to 
> ResourceManager at c6410.ambari.apache.org/192.168.64.110:8050
> 2014-09-26 21:04:45,949 [main] INFO  client.SliderClient - Flexing running 
> cluster
> Exception: Missing option yarn.role.priority
>       at 
> org.apache.slider.core.conf.MapOperations.getMandatoryOption(MapOperations.java:105)
>       at 
> org.apache.slider.server.appmaster.state.AppState.createDynamicProviderRole(AppState.java:585)
>       at 
> org.apache.slider.server.appmaster.state.AppState.buildRoleRequirementsFromResources(AppState.java:695)
>       at 
> org.apache.slider.server.appmaster.state.AppState.updateResourceDefinitions(AppState.java:657)
>       at 
> org.apache.slider.server.appmaster.SliderAppMaster.flexCluster(SliderAppMaster.java:1230)
>       at 
> org.apache.slider.server.appmaster.SliderAppMaster.flexCluster(SliderAppMaster.java:1419)
>       at 
> org.apache.slider.server.appmaster.rpc.SliderClusterProtocolPBImpl.flexCluster(SliderClusterProtocolPBImpl.java:68)
>       at 
> org.apache.slider.api.proto.SliderClusterAPI$SliderClusterProtocolPB$2.callBlockingMethod(SliderClusterAPI.java:262)
>       at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)
>       at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:962)
>       at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2039)
>       at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2035)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:415)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
>       at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2033)
> 2014-09-26 21:04:46,126 [main] ERROR main.ServiceLauncher - Exception: 
> Missing option yarn.role.priority
>       at 
> org.apache.slider.core.conf.MapOperations.getMandatoryOption(MapOperations.java:105)
>       at 
> org.apache.slider.server.appmaster.state.AppState.createDynamicProviderRole(AppState.java:585)
>       at 
> org.apache.slider.server.appmaster.state.AppState.buildRoleRequirementsFromResources(AppState.java:695)
>       at 
> org.apache.slider.server.appmaster.state.AppState.updateResourceDefinitions(AppState.java:657)
>       at 
> org.apache.slider.server.appmaster.SliderAppMaster.flexCluster(SliderAppMaster.java:1230)
>       at 
> org.apache.slider.server.appmaster.SliderAppMaster.flexCluster(SliderAppMaster.java:1419)
>       at 
> org.apache.slider.server.appmaster.rpc.SliderClusterProtocolPBImpl.flexCluster(SliderClusterProtocolPBImpl.java:68)
>       at 
> org.apache.slider.api.proto.SliderClusterAPI$SliderClusterProtocolPB$2.callBlockingMethod(SliderClusterAPI.java:262)
>       at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)
>       at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:962)
>       at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2039)
>       at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2035)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:415)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
>       at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2033)
> org.apache.hadoop.ipc.RemoteException(org.apache.slider.core.exceptions.BadConfigException):
>  Missing option yarn.role.priority
>       at 
> org.apache.slider.core.conf.MapOperations.getMandatoryOption(MapOperations.java:105)
>       at 
> org.apache.slider.server.appmaster.state.AppState.createDynamicProviderRole(AppState.java:585)
>       at 
> org.apache.slider.server.appmaster.state.AppState.buildRoleRequirementsFromResources(AppState.java:695)
>       at 
> org.apache.slider.server.appmaster.state.AppState.updateResourceDefinitions(AppState.java:657)
>       at 
> org.apache.slider.server.appmaster.SliderAppMaster.flexCluster(SliderAppMaster.java:1230)
>       at 
> org.apache.slider.server.appmaster.SliderAppMaster.flexCluster(SliderAppMaster.java:1419)
>       at 
> org.apache.slider.server.appmaster.rpc.SliderClusterProtocolPBImpl.flexCluster(SliderClusterProtocolPBImpl.java:68)
>       at 
> org.apache.slider.api.proto.SliderClusterAPI$SliderClusterProtocolPB$2.callBlockingMethod(SliderClusterAPI.java:262)
>       at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)
>       at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:962)
>       at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2039)
>       at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2035)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:415)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
>       at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2033)
>       at org.apache.hadoop.ipc.Client.call(Client.java:1468)
>       at org.apache.hadoop.ipc.Client.call(Client.java:1399)
>       at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)
>       at com.sun.proxy.$Proxy27.flexCluster(Unknown Source)
>       at 
> org.apache.slider.server.appmaster.rpc.SliderClusterProtocolProxy.flexCluster(SliderClusterProtocolProxy.java:61)
>       at 
> org.apache.slider.client.SliderClusterOperations.flex(SliderClusterOperations.java:297)
>       at org.apache.slider.client.SliderClient.flex(SliderClient.java:2079)
>       at 
> org.apache.slider.client.SliderClient.actionFlex(SliderClient.java:1620)
>       at 
> org.apache.slider.client.SliderClient.runService(SliderClient.java:315)
>       at 
> org.apache.slider.core.main.ServiceLauncher.launchService(ServiceLauncher.java:186)
>       at 
> org.apache.slider.core.main.ServiceLauncher.launchServiceRobustly(ServiceLauncher.java:471)
>       at 
> org.apache.slider.core.main.ServiceLauncher.launchServiceAndExit(ServiceLauncher.java:401)
>       at 
> org.apache.slider.core.main.ServiceLauncher.serviceMain(ServiceLauncher.java:626)
>       at org.apache.slider.Slider.main(Slider.java:49)
> 2014-09-26 21:04:46,143 [main] INFO  util.ExitUtil - Exiting with status 32
> {noformat}
> {color}
> After this a flex with even a valid and existing role name (say 
> HBASE_REGIONSERVER) would fail with the same {{Missing option 
> yarn.role.priority}} error.
> Exception in slider-err.txt -
> {color:red}
> {noformat}
> 14/09/26 21:00:23 INFO state.AppState: Adding new role INVALID_COMPONENT_NAME
> 14/09/26 21:00:23 INFO ipc.Server: IPC Server handler 1 on 41328, call 
> org.apache.slider.server.appmaster.rpc.SliderClusterProtocolPB.flexCluster 
> from 192.168.64.110:46947 Call#30 Retry#0
> org.apache.slider.core.exceptions.BadConfigException: Missing option 
> yarn.role.priority
>         at 
> org.apache.slider.core.conf.MapOperations.getMandatoryOption(MapOperations.java:105)
>         at 
> org.apache.slider.server.appmaster.state.AppState.createDynamicProviderRole(AppState.java:585)
>         at 
> org.apache.slider.server.appmaster.state.AppState.buildRoleRequirementsFromResources(AppState.java:695)
>         at 
> org.apache.slider.server.appmaster.state.AppState.updateResourceDefinitions(AppState.java:657)
>         at 
> org.apache.slider.server.appmaster.SliderAppMaster.flexCluster(SliderAppMaster.java:1230)
>         at 
> org.apache.slider.server.appmaster.SliderAppMaster.flexCluster(SliderAppMaster.java:1419)
>         at 
> org.apache.slider.server.appmaster.rpc.SliderClusterProtocolPBImpl.flexCluster(SliderClusterProtocolPBImpl.java:68)
>         at 
> org.apache.slider.api.proto.SliderClusterAPI$SliderClusterProtocolPB$2.callBlockingMethod(SliderClusterAPI.java:262)
>         at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)
>         at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:962)
>         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2039)
>         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2035)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:415)
>         at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2033)
> {noformat}
> {color}
> If Slider is not supposed to support dynamic addition of roles, it needs to 
> validate of the existence of a role and block if a new/invalid role is 
> provided.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to