Class DataRoutingServiceK8sImpl
java.lang.Object
com.illumon.iris.db.v2.configuration.DataRoutingService.Delegating
com.illumon.iris.db.v2.configuration.DataRoutingServiceK8sImpl
- All Implemented Interfaces:
DataRoutingService,NamedImplementation,AutoCloseable
public class DataRoutingServiceK8sImpl extends DataRoutingService.Delegating
Implementation for use in a Kubernetes environment that does some special handling for the LoggAggregatorEndpoint,
which would otherwise default to a k8s pod name. As that value is used in the 5-tuple used to name bin log files,
that results in an unwieldy number of partitions. This allows for other values, e.g. a k8s node (host) name. This
wraps another
DataRoutingService implementation, and delegates other calls to that instance.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.configuration.DataRoutingService
DataRoutingService.DataImportServiceConfig, DataRoutingService.DataImportServiceEndpoint, DataRoutingService.Delegating, DataRoutingService.Endpoint, DataRoutingService.Filter, DataRoutingService.ListFilter, DataRoutingService.LocationFilter, DataRoutingService.LogAggregatorConfig, DataRoutingService.LogAggregatorEndpoint, DataRoutingService.NullFilter, DataRoutingService.NullPropertyProvider, DataRoutingService.PropertyProvider, DataRoutingService.TableDataServiceConfig, DataRoutingService.TableFilter -
Field Summary
Fields inherited from interface com.illumon.iris.db.v2.configuration.DataRoutingService
DEFAULT_LOCAL_TABLE_DATA_SERVICE, DEFAULT_QUERY_SERVER_TABLE_DATA_SERVICE, DEFAULT_SELECTION_TAG, MERGE_QUERY_TDS_TAG, NULL_FILTER, NULL_PROPERTY_PROVIDER, QUERY_QUERY_TDS_TAG, TABLE_DATA_SERVICE_CONFIG_PROP, TABLE_DATA_SERVICE_CONFIG_PROPS_WITH_LEGACY, VALIDATE_QUERY_TDS_TAG -
Constructor Summary
Constructors Constructor Description DataRoutingServiceK8sImpl(DataRoutingService delegate) -
Method Summary
Modifier and Type Method Description Stringabout()Information about a SchemaService instance.StringgetImplementationName()Get a name for the implementing class.DataRoutingService.LogAggregatorEndpointgetLogAggregatorDestination(TableIdentifier tableIdentifier)Get the single LAS destination for the given table key.Methods inherited from class com.illumon.iris.db.v2.configuration.DataRoutingService.Delegating
asYamlString, close, getAllDataImportServiceDestinations, getAllLogAggregatorServiceConfigs, getDataImportServiceConfig, getDataImportServiceDestinations, getLogAggregatorConfig, getTableDataService, getTableDataServiceConfig, getTableDataServiceConfigsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.illumon.iris.db.v2.configuration.DataRoutingService
authenticate, authenticate, authenticate, getTableDataService
-
Constructor Details
-
Method Details
-
getLogAggregatorDestination
@Nullable public DataRoutingService.LogAggregatorEndpoint getLogAggregatorDestination(@NotNull TableIdentifier tableIdentifier)Description copied from interface:DataRoutingServiceGet the single LAS destination for the given table key. Must support defaults (e.g. to localhost). TODO: it would be nice to make this a little more generic, so one config also toggles between LAS and direct-to-file options. e.g. a token to give to Logger Factory- Specified by:
getLogAggregatorDestinationin interfaceDataRoutingService- Overrides:
getLogAggregatorDestinationin classDataRoutingService.Delegating- Parameters:
tableIdentifier- the identifier of the data to be logged- Returns:
- the configured LogAggregatorEndpoint for the given tableIdentifier, or null if none match the key.
-
about
Description copied from interface:DataRoutingServiceInformation about a SchemaService instance. Useful for debugging.- Specified by:
aboutin interfaceDataRoutingService- Specified by:
aboutin classDataRoutingService.Delegating- Returns:
- a string containing information about the instance
-
getImplementationName
Description copied from interface:NamedImplementationGet a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendableor overridetoString.The default implementation is correct, but not suitable for high-frequency usage.
- Specified by:
getImplementationNamein interfaceNamedImplementation- Specified by:
getImplementationNamein classDataRoutingService.Delegating- Returns:
- A name for the implementing class
-