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

ASF GitHub Bot commented on FLINK-9777:
---------------------------------------

Github user dawidwys commented on a diff in the pull request:

    https://github.com/apache/flink/pull/6297#discussion_r203000806
  
    --- Diff: 
flink-yarn/src/test/java/org/apache/flink/yarn/FlinkYarnSessionCliTest.java ---
    @@ -352,6 +352,76 @@ public void testConfigurationClusterSpecification() 
throws Exception {
                assertThat(clusterSpecification.getSlotsPerTaskManager(), 
is(slotsPerTaskManager));
        }
     
    +   /**
    +    * Tests the specifying heap memory for job manager and task manager.
    +    */
    +   @Test
    +   public void testHeapMemoryProperty() throws Exception {
    +           //without unit
    +           String[] args = new String[] { "-yn", "2", "-yjm", "1024", 
"-ytm", "2048" };
    +
    +           FlinkYarnSessionCli flinkYarnSessionCli = new 
FlinkYarnSessionCli(
    +                   new Configuration(),
    +                   tmp.getRoot().getAbsolutePath(),
    +                   "y",
    +                   "yarn");
    +
    +           CommandLine commandLine = 
flinkYarnSessionCli.parseCommandLineOptions(args, false);
    +
    +           ClusterSpecification clusterSpecification = 
flinkYarnSessionCli.getClusterSpecification(commandLine);
    +
    +           assertThat(clusterSpecification.getMasterMemoryMB(), is(1024));
    +           assertThat(clusterSpecification.getTaskManagerMemoryMB(), 
is(2048));
    +
    +           //with unit "m"
    +           args = new String[] { "-yn", "2", "-yjm", "1024m", "-ytm", 
"2048m" };
    +           commandLine = flinkYarnSessionCli.parseCommandLineOptions(args, 
false);
    +           clusterSpecification = 
flinkYarnSessionCli.getClusterSpecification(commandLine);
    +
    +           assertThat(clusterSpecification.getMasterMemoryMB(), is(1024));
    +           assertThat(clusterSpecification.getTaskManagerMemoryMB(), 
is(2048));
    +
    +           //with unit non "m"
    +           args = new String[] { "-yn", "2", "-yjm", "1g", "-ytm", "2g" };
    +           commandLine = flinkYarnSessionCli.parseCommandLineOptions(args, 
false);
    +           clusterSpecification = 
flinkYarnSessionCli.getClusterSpecification(commandLine);
    +
    +           assertThat(clusterSpecification.getMasterMemoryMB(), is(1024));
    +           assertThat(clusterSpecification.getTaskManagerMemoryMB(), 
is(2048));
    +
    +           //specify old config key
    +           Configuration configuration = new Configuration();
    +           
configuration.setInteger(JobManagerOptions.JOB_MANAGER_HEAP_MEMORY_MB, 2048);
    +           
configuration.setInteger(TaskManagerOptions.TASK_MANAGER_HEAP_MEMORY_MB, 4096);
    +
    +           flinkYarnSessionCli = new FlinkYarnSessionCli(
    +                   configuration,
    +                   tmp.getRoot().getAbsolutePath(),
    +                   "y",
    +                   "yarn");
    +
    +           commandLine = flinkYarnSessionCli.parseCommandLineOptions(new 
String[0], false);
    +
    +           clusterSpecification = 
flinkYarnSessionCli.getClusterSpecification(commandLine);
    +
    +           assertThat(clusterSpecification.getMasterMemoryMB(), is(2048));
    +           assertThat(clusterSpecification.getTaskManagerMemoryMB(), 
is(4096));
    +
    +           //set nothing use default value
    --- End diff --
    
    This should be a separate test


> YARN: JM and TM Memory must be specified with Units 
> ----------------------------------------------------
>
>                 Key: FLINK-9777
>                 URL: https://issues.apache.org/jira/browse/FLINK-9777
>             Project: Flink
>          Issue Type: Bug
>          Components: Documentation, YARN
>    Affects Versions: 1.6.0
>         Environment: commit 9f736d1927c62d220a82931c4f5ffa4955910f27
>            Reporter: Gary Yao
>            Assignee: vinoyang
>            Priority: Blocker
>              Labels: pull-request-available
>             Fix For: 1.6.0
>
>
> FLINK-6469 breaks backwards compatibility because the JobManager and 
> TaskManager memory must be specified with units (otherwise bytes are 
> assumed). The command to start a YARN session as documented 
> ([https://github.com/apache/flink/blob/9f736d1927c62d220a82931c4f5ffa4955910f27/docs/ops/deployment/yarn_setup.md)
>  
> |https://github.com/apache/flink/blob/9f736d1927c62d220a82931c4f5ffa4955910f27/docs/ops/deployment/yarn_setup.md]
>  would not work because 1024 bytes and 4096 bytes are not enough for the heap 
> size. The command finishes with the following exception:
> {noformat}
> java.lang.reflect.UndeclaredThrowableException
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1854)
>       at 
> org.apache.flink.runtime.security.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
>       at 
> org.apache.flink.yarn.cli.FlinkYarnSessionCli.main(FlinkYarnSessionCli.java:802)
> Caused by: org.apache.flink.client.deployment.ClusterDeploymentException: 
> Couldn't deploy Yarn session cluster
>       at 
> org.apache.flink.yarn.AbstractYarnClusterDescriptor.deploySessionCluster(AbstractYarnClusterDescriptor.java:420)
>       at 
> org.apache.flink.yarn.cli.FlinkYarnSessionCli.run(FlinkYarnSessionCli.java:599)
>       at 
> org.apache.flink.yarn.cli.FlinkYarnSessionCli.lambda$main$2(FlinkYarnSessionCli.java:802)
>       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:1836)
>       ... 2 more
> Caused by: org.apache.flink.util.FlinkException: Cannot fulfill the minimum 
> memory requirements with the provided cluster specification. Please increase 
> the memory of the cluster.
>       at 
> org.apache.flink.yarn.AbstractYarnClusterDescriptor.validateClusterSpecification(AbstractYarnClusterDescriptor.java:453)
>       at 
> org.apache.flink.yarn.AbstractYarnClusterDescriptor.deployInternal(AbstractYarnClusterDescriptor.java:475)
>       at 
> org.apache.flink.yarn.AbstractYarnClusterDescriptor.deploySessionCluster(AbstractYarnClusterDescriptor.java:413)
>       ... 7 more
> Caused by: java.lang.IllegalArgumentException
>       at 
> org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:123)
>       at 
> org.apache.flink.runtime.clusterframework.ContaineredTaskManagerParameters.calculateCutoffMB(ContaineredTaskManagerParameters.java:115)
>       at 
> org.apache.flink.yarn.AbstractYarnClusterDescriptor.validateClusterSpecification(AbstractYarnClusterDescriptor.java:450)
>       ... 9 more
> {noformat}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to