Package com.linkedin.venice.router
Class MetaDataHandler
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.channel.SimpleChannelInboundHandler<io.netty.handler.codec.http.HttpRequest>
-
- com.linkedin.venice.router.MetaDataHandler
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
@Sharable public class MetaDataHandler extends io.netty.channel.SimpleChannelInboundHandler<io.netty.handler.codec.http.HttpRequest>
This MetaDataHandle is used to handle the following meta data requests: 1. Controller lookup: /controller, and it will return leader controller url as the content. 2. Key schema lookup: /key_schema/${storeName}, and it will return key schema in json format. The client can useSchemaResponse
to parse it. 3. Single value schema lookup: /value_schema/${storeName}/${valueSchemaId}, and it will return the corresponding value schema in json format. The client can useSchemaResponse
to parse it. 4. All value schema lookup: /value_schema/{$storeName}, and it will return all the value schema of the specified store in json format. The client can useMultiSchemaResponse
to parse it.
-
-
Constructor Summary
Constructors Constructor Description MetaDataHandler(HelixCustomizedViewOfflinePushRepository routingDataRepository, ReadOnlySchemaRepository schemaRepo, ReadOnlyStoreConfigRepository storeConfigRepo, java.util.Map<java.lang.String,java.lang.String> clusterToD2Map, java.util.Map<java.lang.String,java.lang.String> clusterToServerD2Map, ReadOnlyStoreRepository storeRepository, java.util.Optional<HelixHybridStoreQuotaRepository> hybridStoreQuotaRepository, java.lang.String clusterName, java.lang.String zkAddress, java.lang.String kafkaBootstrapServers, boolean isSslToKafka, VeniceVersionFinder versionFinder, PushStatusStoreReader pushStatusStoreReader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
channelRead0(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.HttpRequest req)
void
exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, java.lang.Throwable e)
-
Methods inherited from class io.netty.channel.SimpleChannelInboundHandler
acceptInboundMessage, channelRead
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
-
-
-
Constructor Detail
-
MetaDataHandler
public MetaDataHandler(HelixCustomizedViewOfflinePushRepository routingDataRepository, ReadOnlySchemaRepository schemaRepo, ReadOnlyStoreConfigRepository storeConfigRepo, java.util.Map<java.lang.String,java.lang.String> clusterToD2Map, java.util.Map<java.lang.String,java.lang.String> clusterToServerD2Map, ReadOnlyStoreRepository storeRepository, java.util.Optional<HelixHybridStoreQuotaRepository> hybridStoreQuotaRepository, java.lang.String clusterName, java.lang.String zkAddress, java.lang.String kafkaBootstrapServers, boolean isSslToKafka, VeniceVersionFinder versionFinder, PushStatusStoreReader pushStatusStoreReader)
-
-
Method Detail
-
channelRead0
public void channelRead0(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.HttpRequest req) throws java.io.IOException
- Specified by:
channelRead0
in classio.netty.channel.SimpleChannelInboundHandler<io.netty.handler.codec.http.HttpRequest>
- Throws:
java.io.IOException
-
exceptionCaught
public void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, java.lang.Throwable e) throws java.lang.Exception
- Specified by:
exceptionCaught
in interfaceio.netty.channel.ChannelHandler
- Specified by:
exceptionCaught
in interfaceio.netty.channel.ChannelInboundHandler
- Overrides:
exceptionCaught
in classio.netty.channel.ChannelInboundHandlerAdapter
- Throws:
java.lang.Exception
-
-