コード例 #1
0
        private ReservationUpdateRequest CreateSimpleReservationUpdateRequest(int numRequests
                                                                              , int numContainers, long arrival, long deadline, long duration)
        {
            // create a request with a single atomic ask
            ReservationUpdateRequest request = new ReservationUpdateRequestPBImpl();
            ReservationDefinition    rDef    = new ReservationDefinitionPBImpl();

            rDef.SetArrival(arrival);
            rDef.SetDeadline(deadline);
            if (numRequests > 0)
            {
                ReservationRequests reqs = new ReservationRequestsPBImpl();
                rDef.SetReservationRequests(reqs);
                if (numContainers > 0)
                {
                    ReservationRequest r = ReservationRequest.NewInstance(Org.Apache.Hadoop.Yarn.Api.Records.Resource
                                                                          .NewInstance(1024, 1), numContainers, 1, duration);
                    reqs.SetReservationResources(Sharpen.Collections.SingletonList(r));
                    reqs.SetInterpreter(ReservationRequestInterpreter.RAll);
                }
            }
            request.SetReservationDefinition(rDef);
            request.SetReservationId(ReservationSystemTestUtil.GetNewReservationId());
            return(request);
        }
コード例 #2
0
        public virtual void TestUpdateReservationNoID()
        {
            ReservationUpdateRequest request = new ReservationUpdateRequestPBImpl();
            Plan plan = null;

            try
            {
                plan = rrValidator.ValidateReservationUpdateRequest(rSystem, request);
                NUnit.Framework.Assert.Fail();
            }
            catch (YarnException e)
            {
                NUnit.Framework.Assert.IsNull(plan);
                string message = e.Message;
                NUnit.Framework.Assert.IsTrue(message.StartsWith("Missing reservation id. Please try again by specifying a reservation id."
                                                                 ));
                Log.Info(message);
            }
        }
コード例 #3
0
        /// <exception cref="Com.Google.Protobuf.ServiceException"/>
        public virtual YarnServiceProtos.ReservationUpdateResponseProto UpdateReservation
            (RpcController controller, YarnServiceProtos.ReservationUpdateRequestProto requestProto
            )
        {
            ReservationUpdateRequestPBImpl request = new ReservationUpdateRequestPBImpl(requestProto
                                                                                        );

            try
            {
                ReservationUpdateResponse response = real.UpdateReservation(request);
                return(((ReservationUpdateResponsePBImpl)response).GetProto());
            }
            catch (YarnException e)
            {
                throw new ServiceException(e);
            }
            catch (IOException e)
            {
                throw new ServiceException(e);
            }
        }