Class DataRoutingServiceK8sImpl
java.lang.Object
com.illumon.iris.db.v2.routing.DataRoutingService.Delegating
com.illumon.iris.db.v2.routing.impl.k8s.DataRoutingServiceK8sImpl
- All Implemented Interfaces:
DataRoutingService,StorageLookup,DynamicResolverMixin,EndpointResolver,ClaimsProvider,SafeCloseable,NamedImplementation,AutoCloseable
public class DataRoutingServiceK8sImpl
extends DataRoutingService.Delegating
implements DynamicResolverMixin
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.routing.DataRoutingService
DataRoutingService.DeferredEndpoint, DataRoutingService.Delegating, DataRoutingService.Endpoint, DataRoutingService.EndpointConfig, DataRoutingService.NonListening, DataRoutingService.NotReadyException, DataRoutingService.NullPropertyProvider, DataRoutingService.PropertyProviderNested classes/interfaces inherited from interface com.illumon.iris.db.v2.routing.endpoint.DynamicResolverMixin
DynamicResolverMixin.DeferredDISEndpointServiceRegistryImpl, DynamicResolverMixin.DeferredEndpointServiceRegistryImpl, DynamicResolverMixin.DeferredLASEndpointServiceRegistryImpl -
Field Summary
Fields inherited from interface com.illumon.iris.db.v2.routing.DataRoutingService
DEFAULT_LOCAL_TABLE_DATA_SERVICE, DEFAULT_QUERY_SERVER_TABLE_DATA_SERVICE, DEFAULT_SELECTION_TAG, HOST_TAG, MERGE_QUERY_TDS_TAG, NULL_PROPERTY_PROVIDER, PORT_TAG, QUERY_QUERY_TDS_TAG, SERVICE_REGISTRY_NONE, SERVICE_REGISTRY_SERVICE, TABLE_DATA_PORT_TAG, TABLE_DATA_SERVICE_CONFIG_PROP, TABLE_DATA_SERVICE_CONFIG_PROPS_WITH_LEGACY, TAILER_PORT_TAG, VALIDATE_QUERY_TDS_TAG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabout()Information about a DataRoutingService instance.Get a name for the implementing class.getLogAggregatorDestination(TableIdentifier tableIdentifier) Get the single LAS destination for the given table key.Methods inherited from class com.illumon.iris.db.v2.routing.DataRoutingService.Delegating
asYamlString, close, getAllDataImportServiceConfigs, getAllDataImportServiceDestinationConfigs, getAllLogAggregatorServiceConfigs, getCollectedClaims, getDataImportServiceConfig, getDataImportServiceDestinationConfigs, getLogAggregatorConfig, getLogAggregatorDestinationConfig, getStorage, getTableDataServiceConfig, getTableDataServiceConfigs, listen, registerClaims, removeListener, supportsChangeNotificationMethods 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.routing.DataRoutingService
authenticate, authenticate, authenticate, getAllDataImportServiceConfigs, getAllDataImportServiceDeferredDestinations, getAllDataImportServiceDestinations, getDataImportServiceConfigWithStorage, getDataImportServiceDeferredDestinations, getDataImportServiceDestinations, getLocalInstance, getLogAggregatorDeferredDestinationMethods inherited from interface com.illumon.iris.db.v2.routing.endpoint.DynamicResolverMixin
resolveLogAggregatorEndpoint, resolveTableDataEndpoint, resolveTailerEndpoint
-
Constructor Details
-
DataRoutingServiceK8sImpl
-
-
Method Details
-
getDelegate
- Specified by:
getDelegatein classDataRoutingService.Delegating
-
getLogAggregatorDestination
@Nullable public LogAggregatorConfig.Endpoint getLogAggregatorDestination(@NotNull TableIdentifier tableIdentifier) throws IOException Description copied from interface:DataRoutingServiceGet the single LAS destination for the given table key.- Specified by:
getLogAggregatorDestinationin interfaceDataRoutingService- Parameters:
tableIdentifier- the identifier of the data to be logged- Returns:
- the LogAggregatorEndpointConfig for the given tableIdentifier, or null if none match the key.
- Throws:
IOException- orDataRoutingService.NotReadyExceptionif the destination cannot be fully resolved
-
about
Description copied from interface:DataRoutingServiceInformation about a DataRoutingService 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- Returns:
- A name for the implementing class
-