public virtual void TestEmptyDownload() { JobConf conf = new JobConf(); conf.SetClass("fs.mock.impl", typeof(TestLocalDistributedCacheManager.MockFileSystem ), typeof(FileSystem)); URI mockBase = new URI("mock://test-nn1/"); Org.Mockito.Mockito.When(mockfs.GetUri()).ThenReturn(mockBase); Path working = new Path("mock://test-nn1/user/me/"); Org.Mockito.Mockito.When(mockfs.GetWorkingDirectory()).ThenReturn(working); Org.Mockito.Mockito.When(mockfs.ResolvePath(Matchers.Any <Path>())).ThenAnswer(new _Answer_190()); Org.Mockito.Mockito.When(mockfs.GetFileStatus(Matchers.Any <Path>())).ThenAnswer(new _Answer_197()); Org.Mockito.Mockito.When(mockfs.GetConf()).ThenReturn(conf); Org.Mockito.Mockito.When(mockfs.Open(Matchers.Any <Path>(), Matchers.AnyInt())).ThenAnswer (new _Answer_206()); conf.Set(MRJobConfig.CacheFiles, string.Empty); conf.Set(MRConfig.LocalDir, localDir.GetAbsolutePath()); LocalDistributedCacheManager manager = new LocalDistributedCacheManager(); try { manager.Setup(conf); } finally { manager.Close(); } }
/// <exception cref="System.IO.IOException"/> public Job(LocalJobRunner _enclosing, JobID jobid, string jobSubmitDir) { this._enclosing = _enclosing; this.systemJobDir = new Path(jobSubmitDir); this.systemJobFile = new Path(this.systemJobDir, "job.xml"); this.id = jobid; JobConf conf = new JobConf(this.systemJobFile); this.localFs = FileSystem.GetLocal(conf); string user = UserGroupInformation.GetCurrentUser().GetShortUserName(); this.localJobDir = this.localFs.MakeQualified(new Path(new Path(conf.GetLocalPath (LocalJobRunner.jobDir), user), jobid.ToString())); this.localJobFile = new Path(this.localJobDir, this.id + ".xml"); // Manage the distributed cache. If there are files to be copied, // this will trigger localFile to be re-written again. this.localDistributedCacheManager = new LocalDistributedCacheManager(); this.localDistributedCacheManager.Setup(conf); // Write out configuration file. Instead of copying it from // systemJobFile, we re-write it, since setup(), above, may have // updated it. OutputStream @out = this.localFs.Create(this.localJobFile); try { conf.WriteXml(@out); } finally { @out.Close(); } this.job = new JobConf(this.localJobFile); // Job (the current object) is a Thread, so we wrap its class loader. if (this.localDistributedCacheManager.HasLocalClasspaths()) { this.SetContextClassLoader(this.localDistributedCacheManager.MakeClassLoader(this .GetContextClassLoader())); } this.profile = new JobProfile(this.job.GetUser(), this.id, this.systemJobFile.ToString (), "http://localhost:8080/", this.job.GetJobName()); this.status = new JobStatus(this.id, 0.0f, 0.0f, JobStatus.Running, this.profile. GetUser(), this.profile.GetJobName(), this.profile.GetJobFile(), this.profile.GetURL ().ToString()); this._enclosing.jobs[this.id] = this; this.Start(); }
public virtual void TestDuplicateDownload() { JobConf conf = new JobConf(); conf.SetClass("fs.mock.impl", typeof(TestLocalDistributedCacheManager.MockFileSystem ), typeof(FileSystem)); URI mockBase = new URI("mock://test-nn1/"); Org.Mockito.Mockito.When(mockfs.GetUri()).ThenReturn(mockBase); Path working = new Path("mock://test-nn1/user/me/"); Org.Mockito.Mockito.When(mockfs.GetWorkingDirectory()).ThenReturn(working); Org.Mockito.Mockito.When(mockfs.ResolvePath(Matchers.Any <Path>())).ThenAnswer(new _Answer_234()); URI file = new URI("mock://test-nn1/user/me/file.txt#link"); Path filePath = new Path(file); FilePath link = new FilePath("link"); Org.Mockito.Mockito.When(mockfs.GetFileStatus(Matchers.Any <Path>())).ThenAnswer(new _Answer_245(filePath)); Org.Mockito.Mockito.When(mockfs.GetConf()).ThenReturn(conf); FSDataInputStream @in = new FSDataInputStream(new TestLocalDistributedCacheManager.MockInputStream (Sharpen.Runtime.GetBytesForString("This is a test file\n"))); Org.Mockito.Mockito.When(mockfs.Open(Matchers.Any <Path>(), Matchers.AnyInt())).ThenAnswer (new _Answer_261(@in)); DistributedCache.AddCacheFile(file, conf); DistributedCache.AddCacheFile(file, conf); conf.Set(MRJobConfig.CacheFileTimestamps, "101,101"); conf.Set(MRJobConfig.CacheFilesSizes, "201,201"); conf.Set(MRJobConfig.CacheFileVisibilities, "false,false"); conf.Set(MRConfig.LocalDir, localDir.GetAbsolutePath()); LocalDistributedCacheManager manager = new LocalDistributedCacheManager(); try { manager.Setup(conf); NUnit.Framework.Assert.IsTrue(link.Exists()); } finally { manager.Close(); } NUnit.Framework.Assert.IsFalse(link.Exists()); }