Exemplo n.º 1
0
        public virtual void TestFromYarn()
        {
            int appStartTime                       = 612354;
            int appFinishTime                      = 612355;
            YarnApplicationState state             = YarnApplicationState.Running;
            ApplicationId        applicationId     = ApplicationId.NewInstance(0, 0);
            ApplicationReport    applicationReport = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord
                                                     <ApplicationReport>();

            applicationReport.SetApplicationId(applicationId);
            applicationReport.SetYarnApplicationState(state);
            applicationReport.SetStartTime(appStartTime);
            applicationReport.SetFinishTime(appFinishTime);
            applicationReport.SetUser("TestTypeConverter-user");
            ApplicationResourceUsageReport appUsageRpt = Org.Apache.Hadoop.Yarn.Util.Records.
                                                         NewRecord <ApplicationResourceUsageReport>();
            Resource r = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord <Resource>();

            r.SetMemory(2048);
            appUsageRpt.SetNeededResources(r);
            appUsageRpt.SetNumReservedContainers(1);
            appUsageRpt.SetNumUsedContainers(3);
            appUsageRpt.SetReservedResources(r);
            appUsageRpt.SetUsedResources(r);
            applicationReport.SetApplicationResourceUsageReport(appUsageRpt);
            JobStatus jobStatus = TypeConverter.FromYarn(applicationReport, "dummy-jobfile");

            NUnit.Framework.Assert.AreEqual(appStartTime, jobStatus.GetStartTime());
            NUnit.Framework.Assert.AreEqual(appFinishTime, jobStatus.GetFinishTime());
            NUnit.Framework.Assert.AreEqual(state.ToString(), jobStatus.GetState().ToString()
                                            );
        }
Exemplo n.º 2
0
        public virtual void TestFromYarnJobReport()
        {
            int           jobStartTime  = 612354;
            int           jobFinishTime = 612355;
            JobState      state         = JobState.Running;
            JobId         jobId         = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord <JobId>();
            JobReport     jobReport     = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord <JobReport>();
            ApplicationId applicationId = ApplicationId.NewInstance(0, 0);

            jobId.SetAppId(applicationId);
            jobId.SetId(0);
            jobReport.SetJobId(jobId);
            jobReport.SetJobState(state);
            jobReport.SetStartTime(jobStartTime);
            jobReport.SetFinishTime(jobFinishTime);
            jobReport.SetUser("TestTypeConverter-user");
            JobStatus jobStatus = TypeConverter.FromYarn(jobReport, "dummy-jobfile");

            NUnit.Framework.Assert.AreEqual(jobStartTime, jobStatus.GetStartTime());
            NUnit.Framework.Assert.AreEqual(jobFinishTime, jobStatus.GetFinishTime());
            NUnit.Framework.Assert.AreEqual(state.ToString(), jobStatus.GetState().ToString()
                                            );
        }
Exemplo n.º 3
0
        public virtual void TestFromYarnApplicationReport()
        {
            ApplicationId mockAppId = Org.Mockito.Mockito.Mock <ApplicationId>();

            Org.Mockito.Mockito.When(mockAppId.GetClusterTimestamp()).ThenReturn(12345L);
            Org.Mockito.Mockito.When(mockAppId.GetId()).ThenReturn(6789);
            ApplicationReport mockReport = Org.Mockito.Mockito.Mock <ApplicationReport>();

            Org.Mockito.Mockito.When(mockReport.GetTrackingUrl()).ThenReturn("dummy-tracking-url"
                                                                             );
            Org.Mockito.Mockito.When(mockReport.GetApplicationId()).ThenReturn(mockAppId);
            Org.Mockito.Mockito.When(mockReport.GetYarnApplicationState()).ThenReturn(YarnApplicationState
                                                                                      .Killed);
            Org.Mockito.Mockito.When(mockReport.GetUser()).ThenReturn("dummy-user");
            Org.Mockito.Mockito.When(mockReport.GetQueue()).ThenReturn("dummy-queue");
            string jobFile = "dummy-path/job.xml";

            try
            {
                JobStatus status = TypeConverter.FromYarn(mockReport, jobFile);
            }
            catch (ArgumentNullException)
            {
                NUnit.Framework.Assert.Fail("Type converstion from YARN fails for jobs without "
                                            + "ApplicationUsageReport");
            }
            ApplicationResourceUsageReport appUsageRpt = Org.Apache.Hadoop.Yarn.Util.Records.
                                                         NewRecord <ApplicationResourceUsageReport>();
            Resource r = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord <Resource>();

            r.SetMemory(2048);
            appUsageRpt.SetNeededResources(r);
            appUsageRpt.SetNumReservedContainers(1);
            appUsageRpt.SetNumUsedContainers(3);
            appUsageRpt.SetReservedResources(r);
            appUsageRpt.SetUsedResources(r);
            Org.Mockito.Mockito.When(mockReport.GetApplicationResourceUsageReport()).ThenReturn
                (appUsageRpt);
            JobStatus status_1 = TypeConverter.FromYarn(mockReport, jobFile);

            NUnit.Framework.Assert.IsNotNull("fromYarn returned null status", status_1);
            NUnit.Framework.Assert.AreEqual("jobFile set incorrectly", "dummy-path/job.xml",
                                            status_1.GetJobFile());
            NUnit.Framework.Assert.AreEqual("queue set incorrectly", "dummy-queue", status_1.
                                            GetQueue());
            NUnit.Framework.Assert.AreEqual("trackingUrl set incorrectly", "dummy-tracking-url"
                                            , status_1.GetTrackingUrl());
            NUnit.Framework.Assert.AreEqual("user set incorrectly", "dummy-user", status_1.GetUsername
                                                ());
            NUnit.Framework.Assert.AreEqual("schedulingInfo set incorrectly", "dummy-tracking-url"
                                            , status_1.GetSchedulingInfo());
            NUnit.Framework.Assert.AreEqual("jobId set incorrectly", 6789, status_1.GetJobID(
                                                ).GetId());
            NUnit.Framework.Assert.AreEqual("state set incorrectly", JobStatus.State.Killed,
                                            status_1.GetState());
            NUnit.Framework.Assert.AreEqual("needed mem info set incorrectly", 2048, status_1
                                            .GetNeededMem());
            NUnit.Framework.Assert.AreEqual("num rsvd slots info set incorrectly", 1, status_1
                                            .GetNumReservedSlots());
            NUnit.Framework.Assert.AreEqual("num used slots info set incorrectly", 3, status_1
                                            .GetNumUsedSlots());
            NUnit.Framework.Assert.AreEqual("rsvd mem info set incorrectly", 2048, status_1.GetReservedMem
                                                ());
            NUnit.Framework.Assert.AreEqual("used mem info set incorrectly", 2048, status_1.GetUsedMem
                                                ());
        }
Exemplo n.º 4
0
 public static Org.Apache.Hadoop.Mapred.JobStatus Downgrade(Org.Apache.Hadoop.Mapreduce.JobStatus
                                                            stat)
 {
     Org.Apache.Hadoop.Mapred.JobStatus old = new Org.Apache.Hadoop.Mapred.JobStatus(JobID
                                                                                     .Downgrade(stat.GetJobID()), stat.GetSetupProgress(), stat.GetMapProgress(), stat
                                                                                     .GetReduceProgress(), stat.GetCleanupProgress(), stat.GetState().GetValue(), JobPriority
                                                                                     .ValueOf(stat.GetPriority().ToString()), stat.GetUsername(), stat.GetJobName(),
                                                                                     stat.GetQueue(), stat.GetJobFile(), stat.GetTrackingUrl(), stat.IsUber());
     old.SetStartTime(stat.GetStartTime());
     old.SetFinishTime(stat.GetFinishTime());
     old.SetSchedulingInfo(stat.GetSchedulingInfo());
     old.SetHistoryFile(stat.GetHistoryFile());
     return(old);
 }