Class LocalTableDataService

java.lang.Object
com.illumon.iris.db.v2.tabledataservice.AbstractTableDataService
com.illumon.iris.db.v2.locations.local.LocalTableDataService
All Implemented Interfaces:
TableDataService, NamedImplementation

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.

  • Field Details

    • ALLOW_LIVE_USER_TABLES_PROP

      public static final String ALLOW_LIVE_USER_TABLES_PROP
      See Also:
    • GLOBAL_TABLE_LOCATION_REFRESH_MILLIS_PROP

      public static final String GLOBAL_TABLE_LOCATION_REFRESH_MILLIS_PROP
      See Also:
    • GLOBAL_TABLE_SIZE_REFRESH_MILLIS_PROP

      public static final String GLOBAL_TABLE_SIZE_REFRESH_MILLIS_PROP
      See Also:
    • GLOBAL_REFRESH_THREAD_POOL_SIZE_PROP

      public static final String GLOBAL_REFRESH_THREAD_POOL_SIZE_PROP
      See Also:
    • DEFAULT_TABLE_LOCATION_REFRESH_MILLIS

      public static final long DEFAULT_TABLE_LOCATION_REFRESH_MILLIS
      See Also:
    • DEFAULT_TABLE_SIZE_REFRESH_MILLIS

      public static final long DEFAULT_TABLE_SIZE_REFRESH_MILLIS
      See Also:
    • DEFAULT_REFRESH_THREAD_POOL_SIZE

      public static final int DEFAULT_REFRESH_THREAD_POOL_SIZE
      See Also:
    • DEFAULT_ALLOW_LIVE_USER_TABLES

      public static final boolean DEFAULT_ALLOW_LIVE_USER_TABLES
      See Also:
    • ALL_SUPPORTED_TABLE_TYPES

      public static EnumSet<TableType> ALL_SUPPORTED_TABLE_TYPES
  • Constructor Details

    • LocalTableDataService

      public LocalTableDataService(@NotNull LocalTablePathManager locationManager)
      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 manager
      properties - Configuration properties for this table data service
    • LocalTableDataService

      public LocalTableDataService(@NotNull LocalTablePathManager locationManager, @NotNull EnumSet<TableType> tableTypes, boolean writable, @NotNull DataRoutingService.PropertyProvider properties)
      Creates a new LocalTableDataService with the specified parameters.
      Parameters:
      locationManager - The database location manager
      tableTypes - The set of table types this service should support
      writable - Whether this service should allow write operations
      properties - Configuration properties for this table data service
    • LocalTableDataService

      public LocalTableDataService(@Nullable String name, @NotNull LocalTablePathManager locationManager, @NotNull EnumSet<TableType> tableTypes, boolean writable, @NotNull DataRoutingService.PropertyProvider properties)
      Delegate to LocalTableDataService(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.
      Parameters:
      name - A name for this service
      locationManager - The database location manager
      tableTypes - The set of table types this service should support
      writable - Whether this service should allow write operations
      properties - Configuration properties for this table data service
    • LocalTableDataService

      public LocalTableDataService(@Nullable String name, @NotNull LocalTablePathManager locationManager, @NotNull EnumSet<TableType> tableTypes, boolean writable, @NotNull DataRoutingService.PropertyProvider properties, boolean useMetadataIndexing)
      The main constructor not using a TableDataServiceConfiguration object.
      Parameters:
      name - A name for this service
      locationManager - The database location manager
      tableTypes - the table types that should be supported
      writable - true if the managed locations should be writable
      properties - Configuration properties for this table data service
      useMetadataIndexing - if true, use cached location metadata, not valid with writable locations
    • LocalTableDataService

      public LocalTableDataService(@Nullable String name, @NotNull LocalTableDataServiceDescriptor descriptor)
      The main constructor.
      Parameters:
      name - A name for this service
      descriptor - the configuration for this LTDS
    • LocalTableDataService

      @Deprecated @TestUseOnly public LocalTableDataService(@NotNull File root)
      Deprecated.
      the caller should have a LocalTablePathManager.
      For testing only.
      Parameters:
      root - construct a LocalTablePathManager rooted here.
  • Method Details