コード例 #1
0
        public virtual void TestAuxServicesMeta()
        {
            Configuration conf = new Configuration();

            conf.SetStrings(YarnConfiguration.NmAuxServices, new string[] { "Asrv", "Bsrv" });
            conf.SetClass(string.Format(YarnConfiguration.NmAuxServiceFmt, "Asrv"), typeof(TestAuxServices.ServiceA
                                                                                           ), typeof(Org.Apache.Hadoop.Service.Service));
            conf.SetClass(string.Format(YarnConfiguration.NmAuxServiceFmt, "Bsrv"), typeof(TestAuxServices.ServiceB
                                                                                           ), typeof(Org.Apache.Hadoop.Service.Service));
            AuxServices aux = new AuxServices();

            aux.Init(conf);
            int latch = 1;

            foreach (Org.Apache.Hadoop.Service.Service s in aux.GetServices())
            {
                NUnit.Framework.Assert.AreEqual(Service.STATE.Inited, s.GetServiceState());
                if (s is TestAuxServices.ServiceA)
                {
                    latch *= 2;
                }
                else
                {
                    if (s is TestAuxServices.ServiceB)
                    {
                        latch *= 3;
                    }
                    else
                    {
                        NUnit.Framework.Assert.Fail("Unexpected service type " + s.GetType());
                    }
                }
            }
            NUnit.Framework.Assert.AreEqual("Invalid mix of services", 6, latch);
            aux.Start();
            foreach (Org.Apache.Hadoop.Service.Service s_1 in aux.GetServices())
            {
                NUnit.Framework.Assert.AreEqual(Service.STATE.Started, s_1.GetServiceState());
            }
            IDictionary <string, ByteBuffer> meta = aux.GetMetaData();

            NUnit.Framework.Assert.AreEqual(2, meta.Count);
            NUnit.Framework.Assert.AreEqual("A", Sharpen.Runtime.GetStringForBytes(((byte[])meta
                                                                                    ["Asrv"].Array())));
            NUnit.Framework.Assert.AreEqual("B", Sharpen.Runtime.GetStringForBytes(((byte[])meta
                                                                                    ["Bsrv"].Array())));
            aux.Stop();
            foreach (Org.Apache.Hadoop.Service.Service s_2 in aux.GetServices())
            {
                NUnit.Framework.Assert.AreEqual(Service.STATE.Stopped, s_2.GetServiceState());
            }
        }
コード例 #2
0
        public virtual void TestAuxServices()
        {
            Configuration conf = new Configuration();

            conf.SetStrings(YarnConfiguration.NmAuxServices, new string[] { "Asrv", "Bsrv" });
            conf.SetClass(string.Format(YarnConfiguration.NmAuxServiceFmt, "Asrv"), typeof(TestAuxServices.ServiceA
                                                                                           ), typeof(Org.Apache.Hadoop.Service.Service));
            conf.SetClass(string.Format(YarnConfiguration.NmAuxServiceFmt, "Bsrv"), typeof(TestAuxServices.ServiceB
                                                                                           ), typeof(Org.Apache.Hadoop.Service.Service));
            AuxServices aux = new AuxServices();

            aux.Init(conf);
            int latch = 1;

            foreach (Org.Apache.Hadoop.Service.Service s in aux.GetServices())
            {
                NUnit.Framework.Assert.AreEqual(Service.STATE.Inited, s.GetServiceState());
                if (s is TestAuxServices.ServiceA)
                {
                    latch *= 2;
                }
                else
                {
                    if (s is TestAuxServices.ServiceB)
                    {
                        latch *= 3;
                    }
                    else
                    {
                        NUnit.Framework.Assert.Fail("Unexpected service type " + s.GetType());
                    }
                }
            }
            NUnit.Framework.Assert.AreEqual("Invalid mix of services", 6, latch);
            aux.Start();
            foreach (Org.Apache.Hadoop.Service.Service s_1 in aux.GetServices())
            {
                NUnit.Framework.Assert.AreEqual(Service.STATE.Started, s_1.GetServiceState());
            }
            aux.Stop();
            foreach (Org.Apache.Hadoop.Service.Service s_2 in aux.GetServices())
            {
                NUnit.Framework.Assert.AreEqual(Service.STATE.Stopped, s_2.GetServiceState());
            }
        }