Package org.apache.solr.hdfs
Class HdfsDirectoryFactory
- java.lang.Object
-
- org.apache.solr.core.DirectoryFactory
-
- org.apache.solr.core.CachingDirectoryFactory
-
- org.apache.solr.hdfs.HdfsDirectoryFactory
-
- All Implemented Interfaces:
Closeable,AutoCloseable,SolrMetricProducer,NamedListInitializedPlugin,SolrCoreAware
public class HdfsDirectoryFactory extends CachingDirectoryFactory implements SolrCoreAware, SolrMetricProducer
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.core.CachingDirectoryFactory
CachingDirectoryFactory.CacheValue, CachingDirectoryFactory.CloseListener
-
Nested classes/interfaces inherited from class org.apache.solr.core.DirectoryFactory
DirectoryFactory.DirContext
-
-
Field Summary
Fields Modifier and Type Field Description static StringBLOCKCACHE_DIRECT_MEMORY_ALLOCATIONstatic StringBLOCKCACHE_ENABLEDstatic StringBLOCKCACHE_GLOBALstatic StringBLOCKCACHE_READ_ENABLEDstatic StringBLOCKCACHE_SLAB_COUNTstatic StringBLOCKCACHE_WRITE_ENABLEDstatic StringCACHE_MERGESstatic StringCACHE_READONCEstatic StringCONFIG_DIRECTORYstatic StringHDFS_HOMEstatic StringHDFS_UPDATE_LOG_CLASS_NAMEstatic StringKERBEROS_ENABLEDstatic StringKERBEROS_KEYTABstatic StringKERBEROS_PRINCIPALstatic StringLOCALITYMETRICS_ENABLEDstatic StringLOCK_TYPE_HDFSstatic Metricsmetricsstatic StringNRTCACHINGDIRECTORY_ENABLEstatic StringNRTCACHINGDIRECTORY_MAXCACHEMBstatic StringNRTCACHINGDIRECTORY_MAXMERGESIZEMBstatic StringNUMBEROFBLOCKSPERBANK-
Fields inherited from class org.apache.solr.core.CachingDirectoryFactory
byDirectoryCache, byPathCache, closeListeners, removeEntries
-
Fields inherited from class org.apache.solr.core.DirectoryFactory
coreContainer, dataHomePath, INDEX_W_TIMESTAMP_REGEX, IOCONTEXT_NO_CACHE, LOCK_TYPE_NATIVE, LOCK_TYPE_NONE, LOCK_TYPE_SIMPLE, LOCK_TYPE_SINGLE
-
-
Constructor Summary
Constructors Constructor Description HdfsDirectoryFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanupOldIndexDirectories(String dataDir, String currentIndexDir, boolean afterReload)voidclose()protected org.apache.lucene.store.Directorycreate(String path, org.apache.lucene.store.LockFactory lockFactory, DirectoryFactory.DirContext dirContext)protected org.apache.lucene.store.LockFactorycreateLockFactory(String rawLockType)booleanexists(String path)org.apache.hadoop.conf.ConfigurationgetConf(org.apache.hadoop.fs.Path path)StringgetConfDir()StringgetDataHome(CoreDescriptor cd)SolrMetricsContextgetSolrMetricsContext()voidinform(SolrCore core)voidinit(org.apache.solr.common.util.NamedList<?> args)voidinitializeMetrics(SolrMetricsContext parentContext, String scope)booleanisAbsolute(String path)booleanisPersistent()booleanisSharedStorage()voidmove(org.apache.lucene.store.Directory fromDir, org.apache.lucene.store.Directory toDir, String fileName, org.apache.lucene.store.IOContext ioContext)UpdateLognewDefaultUpdateLog()protected voidremoveDirectory(CachingDirectoryFactory.CacheValue cacheValue)voidrenameWithOverwrite(org.apache.lucene.store.Directory dir, String fileName, String toName)booleansearchersReserveCommitPoints()longsize(String path)longsize(org.apache.lucene.store.Directory directory)-
Methods inherited from class org.apache.solr.core.CachingDirectoryFactory
addCloseListener, deleteOldIndexDirectory, doneWithDirectory, get, getLivePaths, getPath, incRef, normalize, release, remove, remove, remove, remove, stripTrailingSlash
-
Methods inherited from class org.apache.solr.core.DirectoryFactory
empty, getBaseDir, initCoreContainer, sizeOf, sizeOfDirectory
-
-
-
-
Field Detail
-
LOCK_TYPE_HDFS
public static final String LOCK_TYPE_HDFS
- See Also:
- Constant Field Values
-
BLOCKCACHE_SLAB_COUNT
public static final String BLOCKCACHE_SLAB_COUNT
- See Also:
- Constant Field Values
-
BLOCKCACHE_DIRECT_MEMORY_ALLOCATION
public static final String BLOCKCACHE_DIRECT_MEMORY_ALLOCATION
- See Also:
- Constant Field Values
-
BLOCKCACHE_ENABLED
public static final String BLOCKCACHE_ENABLED
- See Also:
- Constant Field Values
-
BLOCKCACHE_GLOBAL
public static final String BLOCKCACHE_GLOBAL
- See Also:
- Constant Field Values
-
BLOCKCACHE_READ_ENABLED
public static final String BLOCKCACHE_READ_ENABLED
- See Also:
- Constant Field Values
-
BLOCKCACHE_WRITE_ENABLED
public static final String BLOCKCACHE_WRITE_ENABLED
- See Also:
- Constant Field Values
-
NRTCACHINGDIRECTORY_ENABLE
public static final String NRTCACHINGDIRECTORY_ENABLE
- See Also:
- Constant Field Values
-
NRTCACHINGDIRECTORY_MAXMERGESIZEMB
public static final String NRTCACHINGDIRECTORY_MAXMERGESIZEMB
- See Also:
- Constant Field Values
-
NRTCACHINGDIRECTORY_MAXCACHEMB
public static final String NRTCACHINGDIRECTORY_MAXCACHEMB
- See Also:
- Constant Field Values
-
NUMBEROFBLOCKSPERBANK
public static final String NUMBEROFBLOCKSPERBANK
- See Also:
- Constant Field Values
-
LOCALITYMETRICS_ENABLED
public static final String LOCALITYMETRICS_ENABLED
- See Also:
- Constant Field Values
-
KERBEROS_ENABLED
public static final String KERBEROS_ENABLED
- See Also:
- Constant Field Values
-
KERBEROS_KEYTAB
public static final String KERBEROS_KEYTAB
- See Also:
- Constant Field Values
-
KERBEROS_PRINCIPAL
public static final String KERBEROS_PRINCIPAL
- See Also:
- Constant Field Values
-
HDFS_HOME
public static final String HDFS_HOME
- See Also:
- Constant Field Values
-
CONFIG_DIRECTORY
public static final String CONFIG_DIRECTORY
- See Also:
- Constant Field Values
-
CACHE_MERGES
public static final String CACHE_MERGES
- See Also:
- Constant Field Values
-
CACHE_READONCE
public static final String CACHE_READONCE
- See Also:
- Constant Field Values
-
HDFS_UPDATE_LOG_CLASS_NAME
public static final String HDFS_UPDATE_LOG_CLASS_NAME
- See Also:
- Constant Field Values
-
metrics
public static Metrics metrics
-
-
Method Detail
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceSolrMetricProducer- Overrides:
closein classCachingDirectoryFactory- Throws:
IOException
-
init
public void init(org.apache.solr.common.util.NamedList<?> args)
- Specified by:
initin interfaceNamedListInitializedPlugin- Overrides:
initin classCachingDirectoryFactory
-
createLockFactory
protected org.apache.lucene.store.LockFactory createLockFactory(String rawLockType) throws IOException
- Specified by:
createLockFactoryin classDirectoryFactory- Throws:
IOException
-
create
protected org.apache.lucene.store.Directory create(String path, org.apache.lucene.store.LockFactory lockFactory, DirectoryFactory.DirContext dirContext) throws IOException
- Specified by:
createin classDirectoryFactory- Throws:
IOException
-
exists
public boolean exists(String path)
- Overrides:
existsin classCachingDirectoryFactory
-
getConf
public org.apache.hadoop.conf.Configuration getConf(org.apache.hadoop.fs.Path path)
-
removeDirectory
protected void removeDirectory(CachingDirectoryFactory.CacheValue cacheValue)
- Overrides:
removeDirectoryin classCachingDirectoryFactory
-
isAbsolute
public boolean isAbsolute(String path)
- Overrides:
isAbsolutein classDirectoryFactory
-
isPersistent
public boolean isPersistent()
- Specified by:
isPersistentin classDirectoryFactory
-
isSharedStorage
public boolean isSharedStorage()
- Overrides:
isSharedStoragein classDirectoryFactory
-
searchersReserveCommitPoints
public boolean searchersReserveCommitPoints()
- Overrides:
searchersReserveCommitPointsin classDirectoryFactory
-
getDataHome
public String getDataHome(CoreDescriptor cd) throws IOException
- Overrides:
getDataHomein classDirectoryFactory- Throws:
IOException
-
size
public long size(org.apache.lucene.store.Directory directory) throws IOException- Overrides:
sizein classDirectoryFactory- Parameters:
directory- to calculate size of- Returns:
- size in bytes
- Throws:
IOException- on low level IO error
-
size
public long size(String path) throws IOException
- Overrides:
sizein classDirectoryFactory- Parameters:
path- to calculate size of- Returns:
- size in bytes
- Throws:
IOException- on low level IO error
-
getConfDir
public String getConfDir()
-
initializeMetrics
public void initializeMetrics(SolrMetricsContext parentContext, String scope)
- Specified by:
initializeMetricsin interfaceSolrMetricProducer
-
getSolrMetricsContext
public SolrMetricsContext getSolrMetricsContext()
- Specified by:
getSolrMetricsContextin interfaceSolrMetricProducer
-
inform
public void inform(SolrCore core)
- Specified by:
informin interfaceSolrCoreAware
-
cleanupOldIndexDirectories
public void cleanupOldIndexDirectories(String dataDir, String currentIndexDir, boolean afterReload)
- Overrides:
cleanupOldIndexDirectoriesin classDirectoryFactory
-
renameWithOverwrite
public void renameWithOverwrite(org.apache.lucene.store.Directory dir, String fileName, String toName) throws IOException- Overrides:
renameWithOverwritein classDirectoryFactory- Throws:
IOException
-
move
public void move(org.apache.lucene.store.Directory fromDir, org.apache.lucene.store.Directory toDir, String fileName, org.apache.lucene.store.IOContext ioContext) throws IOException- Overrides:
movein classDirectoryFactory- Throws:
IOException
-
newDefaultUpdateLog
public UpdateLog newDefaultUpdateLog()
- Overrides:
newDefaultUpdateLogin classDirectoryFactory
-
-