private static void registerTableSpace( String spaceName, URI uri, JSONObject spaceDesc, boolean visible, boolean override) { Tablespace tableSpace = initializeTableSpace(spaceName, uri, spaceDesc); tableSpace.setVisible(visible); try { tableSpace.init(systemConf); } catch (IOException e) { throw new RuntimeException(e); } putTablespace(tableSpace, override); // If the arbitrary path is allowed, root uri is also added as a tablespace if (tableSpace.getProperty().isArbitraryPathAllowed()) { URI rootUri = tableSpace.getRootUri(); // if there already exists or the rootUri is 'file:/', it won't overwrite the tablespace. if (!TABLE_SPACES.containsKey(rootUri) && !rootUri.toString().startsWith(LOCAL_FS_URI.toString())) { String tmpName = UUID.randomUUID().toString(); registerTableSpace(tmpName, rootUri, spaceDesc, false, override); } } }