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.PropertyProvider
Nested 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, supportsChangeNotification
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.routing.DataRoutingService
authenticate, authenticate, authenticate, getAllDataImportServiceConfigs, getAllDataImportServiceDeferredDestinations, getAllDataImportServiceDestinations, getDataImportServiceConfigWithStorage, getDataImportServiceDeferredDestinations, getDataImportServiceDestinations, getLocalInstance, getLogAggregatorDeferredDestination
Methods inherited from interface com.illumon.iris.db.v2.routing.endpoint.DynamicResolverMixin
resolveLogAggregatorEndpoint, resolveTableDataEndpoint, resolveTailerEndpoint
-
Constructor Details
-
DataRoutingServiceK8sImpl
-
-
Method Details
-
getDelegate
- Specified by:
getDelegate
in classDataRoutingService.Delegating
-
getLogAggregatorDestination
@Nullable public LogAggregatorConfig.Endpoint getLogAggregatorDestination(@NotNull TableIdentifier tableIdentifier) throws IOException Description copied from interface:DataRoutingService
Get the single LAS destination for the given table key.- Specified by:
getLogAggregatorDestination
in 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.NotReadyException
if the destination cannot be fully resolved
-
about
Description copied from interface:DataRoutingService
Information about a DataRoutingService instance. Useful for debugging.- Specified by:
about
in interfaceDataRoutingService
- Specified by:
about
in classDataRoutingService.Delegating
- Returns:
- a string containing information about the instance
-
getImplementationName
Description copied from interface:NamedImplementation
Get a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendable
or overridetoString
.The default implementation is correct, but not suitable for high-frequency usage.
- Specified by:
getImplementationName
in interfaceNamedImplementation
- Returns:
- A name for the implementing class
-