Class LocalTableDataService
java.lang.Object
com.illumon.iris.db.v2.locations.AbstractTableDataService
com.illumon.iris.db.v2.locations.local.LocalTableDataService
- All Implemented Interfaces:
TableDataService
public class LocalTableDataService extends AbstractTableDataService
A table data service that finds locations via scanning a well-known directory hierarchy on a filesystem.
Note that multiple actual filesystems may be traversed depending on how links are assembled in the directory structure, and that remote filesystems (e.g. NFS) may be included.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.locations.TableDataService
TableDataService.Null
-
Field Summary
Fields Modifier and Type Field Description static EnumSet<TableType>
ALL_SUPPORTED_TABLE_TYPES
static int
DEFAULT_REFRESH_THREAD_POOL_SIZE
static long
DEFAULT_TABLE_LOCATION_REFRESH_MILLIS
static long
DEFAULT_TABLE_SIZE_REFRESH_MILLIS
static String
GLOBAL_REFRESH_THREAD_POOL_SIZE_PROP
static String
GLOBAL_TABLE_LOCATION_REFRESH_MILLIS_PROP
static String
GLOBAL_TABLE_SIZE_REFRESH_MILLIS_PROP
-
Constructor Summary
Constructors Constructor Description LocalTableDataService(LocalTablePathManager locationManager)
Simple read-only service for all supported table types.LocalTableDataService(LocalTablePathManager locationManager, DataRoutingService.PropertyProvider properties)
Simple read-only service for all supported table types.LocalTableDataService(LocalTablePathManager locationManager, EnumSet<TableType> tableTypes, boolean writable, DataRoutingService.PropertyProvider properties)
LocalTableDataService(File root)
Deprecated.the caller should have a LocalTablePathManager.LocalTableDataService(String name, LocalTablePathManager locationManager, EnumSet<TableType> tableTypes, boolean writable, DataRoutingService.PropertyProvider properties)
Delegate toLocalTableDataService(String, LocalTablePathManager, EnumSet, boolean, DataRoutingService.PropertyProvider, boolean)
with useMetadataIndexing set according to the default property and writable parameter.LocalTableDataService(String name, LocalTablePathManager locationManager, EnumSet<TableType> tableTypes, boolean writable, DataRoutingService.PropertyProvider properties, boolean useMetadataIndexing)
The main constructor. -
Method Summary
Modifier and Type Method Description LocalTablePathManager
getLocalTablePathManager()
protected TableLocationProvider
makeTableLocationProvider(TableKey tableKey)
Methods inherited from class com.illumon.iris.db.v2.locations.AbstractTableDataService
getKnownLocationProviders, getName, getTableLocationProvider, reset, reset
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.v2.locations.TableDataService
describe, getTableLocationProvider
-
Field Details
-
GLOBAL_TABLE_LOCATION_REFRESH_MILLIS_PROP
- See Also:
- Constant Field Values
-
GLOBAL_TABLE_SIZE_REFRESH_MILLIS_PROP
- See Also:
- Constant Field Values
-
GLOBAL_REFRESH_THREAD_POOL_SIZE_PROP
- See Also:
- Constant Field Values
-
DEFAULT_TABLE_LOCATION_REFRESH_MILLIS
public static final long DEFAULT_TABLE_LOCATION_REFRESH_MILLIS- See Also:
- Constant Field Values
-
DEFAULT_TABLE_SIZE_REFRESH_MILLIS
public static final long DEFAULT_TABLE_SIZE_REFRESH_MILLIS- See Also:
- Constant Field Values
-
DEFAULT_REFRESH_THREAD_POOL_SIZE
public static final int DEFAULT_REFRESH_THREAD_POOL_SIZE- See Also:
- Constant Field Values
-
ALL_SUPPORTED_TABLE_TYPES
-
-
Constructor Details
-
LocalTableDataService
Simple read-only service for all supported table types.- Parameters:
locationManager
- The database location manager
-
LocalTableDataService
public LocalTableDataService(@NotNull LocalTablePathManager locationManager, @NotNull DataRoutingService.PropertyProvider properties)Simple read-only service for all supported table types.- Parameters:
locationManager
- The database location managerproperties
- Configuration properties for this table data service
-
LocalTableDataService
public LocalTableDataService(@NotNull LocalTablePathManager locationManager, @NotNull EnumSet<TableType> tableTypes, boolean writable, @NotNull DataRoutingService.PropertyProvider properties) -
LocalTableDataService
public LocalTableDataService(@Nullable String name, @NotNull LocalTablePathManager locationManager, @NotNull EnumSet<TableType> tableTypes, boolean writable, @NotNull DataRoutingService.PropertyProvider properties)Delegate toLocalTableDataService(String, LocalTablePathManager, EnumSet, boolean, DataRoutingService.PropertyProvider, boolean)
with useMetadataIndexing set according to the default property and writable parameter. useMetadataIndexing is always false if writable is true. -
LocalTableDataService
public LocalTableDataService(@Nullable String name, @NotNull LocalTablePathManager locationManager, @NotNull EnumSet<TableType> tableTypes, boolean writable, @NotNull DataRoutingService.PropertyProvider properties, boolean useMetadataIndexing)The main constructor.- Parameters:
name
- A name for this servicelocationManager
- The database location managertableTypes
- the table types that should be supportedwritable
- true if the managed locations should be writableproperties
- Configuration properties for this table data serviceuseMetadataIndexing
- if true, use cached location metadata, not valid with writable locations
-
LocalTableDataService
Deprecated.the caller should have a LocalTablePathManager.For testing only.- Parameters:
root
- construct a LocalTablePathManager rooted here.
-
-
Method Details
-
getLocalTablePathManager
-
makeTableLocationProvider
- Specified by:
makeTableLocationProvider
in classAbstractTableDataService
-