/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { return getConfiguration(igniteInstanceName, getIgfsConfiguration()); }
/** {@inheritDoc} */ @Override protected void afterTest() throws Exception { super.afterTest(); // Clean up secondary file system. igfsSec.clear(); }
/** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { igfsSec = startSecondary(); super.beforeTestsStarted(); }
grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertFalse(igfs.exists(dir.parent())); assertTrue(igfs.delete(dir.parent(), true)); // Will generate EVT_IGFS_DIR_DELETED event. assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/dir2"), evt.path()); assertEquals(EVT_IGFS_DIR_DELETED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path());
grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertTrue(igfs.delete(dir, false)); // Will generate 1 EVT_IGFS_DIR_DELETED event. assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/dir2"), evt.path()); assertEquals(EVT_IGFS_DIR_DELETED, evt3.type()); assertEquals(new IgfsPath("/dir1/dir2"), evt3.path());
/** {@inheritDoc} */ @Override protected FileSystemConfiguration getIgfsConfiguration() throws IgniteCheckedException { FileSystemConfiguration igfsCfg = super.getIgfsConfiguration(); //noinspection deprecation igfsCfg.setSecondaryFileSystem(new IgniteHadoopIgfsSecondaryFileSystem( "igfs://igfs-secondary@127.0.0.1:11500/", "modules/core/src/test/config/hadoop/core-site-secondary.xml")); return igfsCfg; }
/** {@inheritDoc} */ @Override protected void afterTest() throws Exception { if (lsnr != null) { grid(1).events().stopLocalListen(lsnr, EVTS_IGFS); lsnr = null; } // Clean up file system. if (igfs != null) igfs.clear(); }
/** * @return IGFS configuration for this test. */ protected FileSystemConfiguration getIgfsConfiguration() throws IgniteCheckedException { FileSystemConfiguration igfsCfg = new FileSystemConfiguration(); igfsCfg.setName("igfs"); igfsCfg.setBlockSize(512 * 1024); // Together with group blocks mapper will yield 64M per node groups. CacheConfiguration dataCacheCfg = defaultCacheConfiguration(); dataCacheCfg.setCacheMode(PARTITIONED); dataCacheCfg.setNearConfiguration(null); dataCacheCfg.setWriteSynchronizationMode(FULL_SYNC); dataCacheCfg.setEvictionPolicy(null); dataCacheCfg.setAffinityMapper(new IgfsGroupDataBlocksKeyMapper(128)); dataCacheCfg.setBackups(0); dataCacheCfg.setAtomicityMode(TRANSACTIONAL); CacheConfiguration metaCacheCfg = defaultCacheConfiguration(); metaCacheCfg.setCacheMode(REPLICATED); metaCacheCfg.setWriteSynchronizationMode(FULL_SYNC); metaCacheCfg.setEvictionPolicy(null); metaCacheCfg.setAtomicityMode(TRANSACTIONAL); igfsCfg.setMetaCacheConfiguration(metaCacheCfg); igfsCfg.setDataCacheConfiguration(dataCacheCfg); return igfsCfg; }
/** * The same as getConfiguration(String igniteInstanceName) but it sets custom IGFS configuration * * @param igniteInstanceName Ignite instance name. * @param igfsCfg IGFS configuration. * @return Grid configuration. * @throws Exception If failed. */ protected IgniteConfiguration getConfiguration(String igniteInstanceName, FileSystemConfiguration igfsCfg) throws Exception { IgniteConfiguration cfg = IgnitionEx.loadConfiguration("config/hadoop/default-config.xml").get1(); assert cfg != null; cfg.setIgniteInstanceName(igniteInstanceName); cfg.setIncludeEventTypes(concat(EVTS_IGFS, EVT_TASK_FAILED, EVT_TASK_FINISHED, EVT_JOB_MAPPED)); cfg.setFileSystemConfiguration(igfsCfg); cfg.setHadoopConfiguration(null); TcpDiscoverySpi discoSpi = new TcpDiscoverySpi(); discoSpi.setIpFinder(new TcpDiscoveryVmIpFinder(true)); cfg.setDiscoverySpi(discoSpi); return cfg; }
grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertFalse(igfs.delete(dir, true)); // Will generate no event. assertTrue(igfs.delete(mvDir, true)); // Will generate EVT_IGFS_DIR_DELETED events. assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path()); assertTrue(evt.isDirectory()); assertEquals(EVT_IGFS_DIR_RENAMED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path()); assertEquals(new IgfsPath("/mvDir1"), evt.newPath()); assertTrue(evt.isDirectory()); assertEquals(EVT_IGFS_DIR_DELETED, evt.type()); assertEquals(new IgfsPath("/mvDir1"), evt.path()); assertTrue(evt.isDirectory());
grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_FILE_CREATED, evt.type()); assertEquals(new IgfsPath("/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_OPENED_WRITE, evt.type()); assertEquals(new IgfsPath("/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_CLOSED_WRITE, evt.type()); assertEquals(new IgfsPath("/file1"), evt.path()); assertEquals((long)dataSize, evt.dataSize()); assertEquals(EVT_IGFS_FILE_OPENED_READ, evt.type()); assertEquals(new IgfsPath("/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_CLOSED_READ, evt.type()); assertEquals(new IgfsPath("/file1"), evt.path()); assertEquals((long) dataSize, evt.dataSize());
/** {@inheritDoc} */ @Override protected FileSystemConfiguration getIgfsConfiguration() throws IgniteCheckedException { FileSystemConfiguration igfsCfg = super.getIgfsConfiguration(); igfsCfg.setDefaultMode(IgfsMode.PRIMARY); IgfsIpcEndpointConfiguration endpointCfg = new IgfsIpcEndpointConfiguration(); endpointCfg.setType(IgfsIpcEndpointType.SHMEM); endpointCfg.setPort(IpcSharedMemoryServerEndpoint.DFLT_IPC_PORT + 1); igfsCfg.setIpcEndpointConfiguration(endpointCfg); return igfsCfg; } }
grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertTrue(igfs.delete(dir, true)); assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path()); assertTrue(evt.isDirectory()); assertEquals(EVT_IGFS_FILE_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/file1"), evt.path()); assertFalse(evt.isDirectory()); assertEquals(EVT_IGFS_FILE_OPENED_WRITE, evt.type()); assertEquals(new IgfsPath("/dir1/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_CLOSED_WRITE, evt.type()); assertEquals(new IgfsPath("/dir1/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/file2"), evt.path()); assertFalse(evt.isDirectory()); assertEquals(EVT_IGFS_FILE_OPENED_WRITE, evt.type());
grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertTrue(igfs.exists(new IgfsPath(dir.parent(), file.name()))); assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/dir2"), evt.path()); assertEquals(EVT_IGFS_FILE_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/dir2/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_OPENED_WRITE, evt.type()); assertEquals(new IgfsPath("/dir1/dir2/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_CLOSED_WRITE, evt.type()); assertEquals(new IgfsPath("/dir1/dir2/file1"), evt.path()); assertEquals(0, evt.dataSize()); assertEquals(EVT_IGFS_FILE_RENAMED, evt4.type()); assertEquals(new IgfsPath("/dir1/dir2/file1"), evt4.path()); assertEquals(new IgfsPath("/dir1/file1"), evt4.newPath());
/** {@inheritDoc} */ @Override protected FileSystemConfiguration getIgfsConfiguration() throws IgniteCheckedException { FileSystemConfiguration igfsCfg = super.getIgfsConfiguration(); igfsCfg.setDefaultMode(IgfsMode.PRIMARY); IgfsIpcEndpointConfiguration endpointCfg = new IgfsIpcEndpointConfiguration(); endpointCfg.setType(IgfsIpcEndpointType.TCP); endpointCfg.setPort(IpcSharedMemoryServerEndpoint.DFLT_IPC_PORT + 1); igfsCfg.setIpcEndpointConfiguration(endpointCfg); return igfsCfg; } }
grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertTrue(igfs.delete(dir.parent(), true)); assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path()); assertTrue(evt.isDirectory()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/dir2"), evt.path()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/dir2/dir3"), evt.path()); assertEquals(EVT_IGFS_FILE_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/dir2/dir3/file1"), evt.path()); assertFalse(evt.isDirectory()); assertEquals(EVT_IGFS_FILE_OPENED_WRITE, evt.type()); assertEquals(new IgfsPath("/dir1/dir2/dir3/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_CLOSED_WRITE, evt.type()); assertEquals(new IgfsPath("/dir1/dir2/dir3/file1"), evt.path());
= grid(1).configuration().getFileSystemConfiguration()[0].getDefaultMode() == IgfsMode.PRIMARY; grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_FILE_CREATED, evt.type()); assertEquals(file1, evt.path()); assertEquals(EVT_IGFS_FILE_OPENED_WRITE, evt.type()); assertEquals(file1, evt.path()); assertEquals(EVT_IGFS_FILE_CLOSED_WRITE, evt.type()); assertEquals(file1, evt.path()); assertEquals(0, evt.dataSize());
/** * @return IGFS configuration for secondary file system. */ protected FileSystemConfiguration getSecondaryIgfsConfiguration() throws IgniteCheckedException { FileSystemConfiguration igfsCfg = super.getIgfsConfiguration(); igfsCfg.setName("igfs-secondary"); igfsCfg.setDefaultMode(PRIMARY); IgfsIpcEndpointConfiguration endpointCfg = new IgfsIpcEndpointConfiguration(); endpointCfg.setType(IgfsIpcEndpointType.TCP); endpointCfg.setPort(11500); igfsCfg.setIpcEndpointConfiguration(endpointCfg); return igfsCfg; }
grid(1).events().localListen(lsnr = new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { log.info("Received event [evt=" + evt + ']'); assertTrue(igfs.exists(dir)); assertTrue(igfs.exists(file1)); assertTrue(igfs.exists(file2)); assertTrue(igfs.delete(file1, false)); // Will generate 1 EVT_IGFS_FILE_DELETED and 1 EVT_IGFS_FILE_PURGED. assertTrue(igfs.delete(file2, false)); // Same. assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals(evtsCnt, evtList.size()); assertEquals(EVT_IGFS_DIR_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1"), evt.path()); assertTrue(evt.isDirectory()); assertEquals(EVT_IGFS_FILE_CREATED, evt.type()); assertEquals(new IgfsPath("/dir1/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_OPENED_WRITE, evt.type()); assertEquals(new IgfsPath("/dir1/file1"), evt.path()); assertEquals(EVT_IGFS_FILE_CLOSED_WRITE, evt.type()); assertEquals(new IgfsPath("/dir1/file1"), evt.path()); assertEquals(0, evt.dataSize());