Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-4954

TestYarnClient.testReservationAPIs fails on machines with less than 4 GB available memory

    XMLWordPrintableJSON

Details

    • Test
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 3.0.0-alpha1
    • None
    • test
    • None

    Description

      TestYarnClient.testReservationAPIs sometimes fails with this error:

      java.lang.AssertionError: org.apache.hadoop.yarn.server.resourcemanager.reservation.exceptions.PlanningException: The request cannot be satisfied
      	at org.apache.hadoop.yarn.ipc.RPCUtil.getRemoteException(RPCUtil.java:38)
      	at org.apache.hadoop.yarn.server.resourcemanager.ClientRMService.submitReservation(ClientRMService.java:1254)
      	at org.apache.hadoop.yarn.api.impl.pb.service.ApplicationClientProtocolPBServiceImpl.submitReservation(ApplicationClientProtocolPBServiceImpl.java:457)
      	at org.apache.hadoop.yarn.proto.ApplicationClientProtocol$ApplicationClientProtocolService$2.callBlockingMethod(ApplicationClientProtocol.java:515)
      	at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:637)
      	at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989)
      	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2422)
      	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2418)
      	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:1742)
      	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2416)
      Caused by: org.apache.hadoop.yarn.server.resourcemanager.reservation.exceptions.PlanningException: The request cannot be satisfied
      	at org.apache.hadoop.yarn.server.resourcemanager.reservation.planning.IterativePlanner.computeJobAllocation(IterativePlanner.java:151)
      	at org.apache.hadoop.yarn.server.resourcemanager.reservation.planning.PlanningAlgorithm.allocateUser(PlanningAlgorithm.java:64)
      	at org.apache.hadoop.yarn.server.resourcemanager.reservation.planning.PlanningAlgorithm.createReservation(PlanningAlgorithm.java:140)
      	at org.apache.hadoop.yarn.server.resourcemanager.reservation.planning.TryManyReservationAgents.createReservation(TryManyReservationAgents.java:55)
      	at org.apache.hadoop.yarn.server.resourcemanager.reservation.planning.AlignedPlannerWithGreedy.createReservation(AlignedPlannerWithGreedy.java:84)
      	at org.apache.hadoop.yarn.server.resourcemanager.ClientRMService.submitReservation(ClientRMService.java:1237)
      	... 10 more
      
      	at org.junit.Assert.fail(Assert.java:88)
      	at org.apache.hadoop.yarn.client.api.impl.TestYarnClient.testReservationAPIs(TestYarnClient.java:1227)
      

      This is caused by really not having enough available memory to complete the reservation (4 * 1024 MB). In my opinion lowering the required memory (either by lowering the number of containers to 2, or the memory to 512 MB) would make the test more stable.

      Attachments

        1. YARN-4954.002.patch
          1 kB
          Eric Badger
        2. YARN-4954.001.patch
          1.0 kB
          Gergely Novák

        Activity

          People

            GergelyNovak Gergely Novák
            GergelyNovak Gergely Novák
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated: