@Override protected void startUp() { // RAM directory storage by default if (luceneStorageConfig == null || luceneStorageConfig.equals(Constants.LUCENE_DIRECTORY_STORAGE_RAM)) { directory = new RAMDirectory(); log.info("Using RAM Lucene storage"); } else if (luceneStorageConfig.equals(Constants.LUCENE_DIRECTORY_STORAGE_FILE)) { File luceneDirectory = DirectoryUtil.getLuceneDirectory(); log.info("Using file Lucene storage: {}", luceneDirectory); try { directory = new SimpleFSDirectory(luceneDirectory, new SimpleFSLockFactory()); } catch (IOException e) { log.error("Error initializing Lucene index", e); } } }
public SnapShooter(SolrCore core, String location) throws IOException { solrCore = core; if (location == null) snapDir = core.getDataDir(); else { File base = new File(core.getCoreDescriptor().getInstanceDir()); snapDir = org.apache.solr.common.util.FileUtils.resolvePath(base, location).getAbsolutePath(); File dir = new File(snapDir); if (!dir.exists()) dir.mkdirs(); } lockFactory = new SimpleFSLockFactory(snapDir); }
lockFactory = new SimpleFSLockFactory(path); doClearLockID = true;
lockFactory = new SimpleFSLockFactory(path); doClearLockID = true;
lockFactory = new SimpleFSLockFactory(path); doClearLockID = true;
lockFactory = new SimpleFSLockFactory(path); doClearLockID = true;
public Directory open(String subContext, String subIndex) throws SearchEngineException { try { String path = buildPath(subContext, subIndex); Directory dir = FSDirectory.getDirectory(path); dir.setLockFactory(new SimpleFSLockFactory(path)); return dir; } catch (IOException e) { throw new SearchEngineException("Failed to open directory for path [" + subIndex + "]", e); } }
public static Directory getDirectory(String path, DirectoryFactory directoryFactory, SolrIndexConfig config) throws IOException { Directory d = directoryFactory.open(path); String rawLockType = (null == config) ? null : config.lockType; if (null == rawLockType) { // we default to "simple" for backwards compatibility log.warn("No lockType configured for " + path + " assuming 'simple'"); rawLockType = "simple"; } final String lockType = rawLockType.toLowerCase().trim(); if ("simple".equals(lockType)) { // multiple SimpleFSLockFactory instances should be OK d.setLockFactory(new SimpleFSLockFactory(path)); } else if ("native".equals(lockType)) { d.setLockFactory(new NativeFSLockFactory(path)); } else if ("single".equals(lockType)) { if (!(d.getLockFactory() instanceof SingleInstanceLockFactory)) d.setLockFactory(new SingleInstanceLockFactory()); } else if ("none".equals(lockType)) { // Recipe for disaster log.error("CONFIGURATION WARNING: locks are disabled on " + path); d.setLockFactory(new NoLockFactory()); } else { throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Unrecognized lockType: " + rawLockType); } return d; }
lockFactory = new SimpleFSLockFactory(lockDir); } catch (IOException e) { throw new SearchEngineException("Failed to create simple fs lock factory with lock dir [" + lockDir + "]", e);