final HDFSConf.ShortCircuitFlag shortCircuitFlag = hdfsConf.getShortCircuitFlag(); if (shortCircuitFlag == null ||shortCircuitFlag == HDFSConf.ShortCircuitFlag.SYSTEM) { return result; switch (hdfsConf.getShortCircuitFlag()) { case SYSTEM: break; result.add(new Property(HDFS_READ_SHORTCIRCUIT_KEY, "true")); result.add(new Property(HDFS_DFS_DOMAIN_SOCKET_PATH_KEY, Optional.fromNullable(hdfsConf.getShortCircuitSocketPath()).or(""))); break;
@Test public void testHdfsConfApplied() throws Exception { final HDFSConf conf = new HDFSConf(); conf.hostname = "localhost"; conf.shortCircuitFlag = HDFSConf.ShortCircuitFlag.ENABLED; conf.shortCircuitSocketPath = "/tmp/dn.sock"; conf.propertyList = Arrays.asList(new Property("foo", "bar")); SabotContext context = mock(SabotContext.class); when(context.getClasspathScan()).thenReturn(DremioTest.CLASSPATH_SCAN_RESULT); Provider<StoragePluginId> idProvider = () -> { return new StoragePluginId(null, conf, null); }; try(HDFSStoragePlugin fileSystemPlugin = new HDFSStoragePlugin(conf, context, "test-plugin", null, idProvider)) { fileSystemPlugin.start(); final Configuration fsConf = fileSystemPlugin.getFsConf(); assertThat(fsConf.get("dfs.client.read.shortcircuit"), is("true")); assertThat(fsConf.get("dfs.domain.socket.path"), is("/tmp/dn.sock")); assertThat(fsConf.get("foo"), is("bar")); } }
@Before public void setup() throws Exception { { SampleDataPopulator.addDefaultFirstUser(l(UserService.class), new NamespaceServiceImpl(l(KVStoreProvider.class))); final HDFSConf hdfsConfig = new HDFSConf(); hdfsConfig.hostname = host; hdfsConfig.port = port; SourceConfig source = new SourceConfig(); source.setName(SOURCE_NAME); source.setMetadataPolicy(CatalogService.DEFAULT_METADATA_POLICY_WITH_AUTO_PROMOTE); source.setConnectionConf(hdfsConfig); source.setId(new EntityId(SOURCE_ID)); source.setDescription(SOURCE_DESC); ((CatalogServiceImpl)l(CatalogService.class)).getSystemUserCatalog().createSource(source); } }