Skip to content

Commit

Permalink
Add option to configure max received message size for jaeger-query
Browse files Browse the repository at this point in the history
Currently this option only exists for collector but not for query.

This option is required when a storage returns a very large grpc
message.

Signed-off-by: chankyin <chankyin@bytedance.com>
  • Loading branch information
SOF3 committed Apr 18, 2023
1 parent bc8e1d1 commit 8da3ed8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
23 changes: 14 additions & 9 deletions cmd/query/app/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,16 @@ import (
)

const (
queryHTTPHostPort = "query.http-server.host-port"
queryGRPCHostPort = "query.grpc-server.host-port"
queryBasePath = "query.base-path"
queryStaticFiles = "query.static-files"
queryLogStaticAssetsAccess = "query.log-static-assets-access"
queryUIConfig = "query.ui-config"
queryTokenPropagation = "query.bearer-token-propagation"
queryAdditionalHeaders = "query.additional-headers"
queryMaxClockSkewAdjust = "query.max-clock-skew-adjustment"
queryHTTPHostPort = "query.http-server.host-port"
queryGRPCHostPort = "query.grpc-server.host-port"
queryBasePath = "query.base-path"
queryStaticFiles = "query.static-files"
queryLogStaticAssetsAccess = "query.log-static-assets-access"
queryUIConfig = "query.ui-config"
queryTokenPropagation = "query.bearer-token-propagation"
queryGRPCMaxReceiveMessageSize = "query.grpc-server.max-receive-message-size"
queryAdditionalHeaders = "query.additional-headers"
queryMaxClockSkewAdjust = "query.max-clock-skew-adjustment"
)

var tlsGRPCFlagsConfig = tlscfg.ServerFlagsConfig{
Expand Down Expand Up @@ -75,6 +76,8 @@ type QueryOptions struct {
UIConfig string
// BearerTokenPropagation activate/deactivate bearer token propagation to storage
BearerTokenPropagation bool
// GRPCMaxReceiveMessageSize is the maximum message size receivable by the gRPC query client.
GRPCMaxReceiveMessageSize int
// TLSGRPC configures secure transport (Consumer to Query service GRPC API)
TLSGRPC tlscfg.Options
// TLSHTTP configures secure transport (Consumer to Query service HTTP API)
Expand All @@ -97,6 +100,7 @@ func AddFlags(flagSet *flag.FlagSet) {
flagSet.Bool(queryLogStaticAssetsAccess, false, "Log when static assets are accessed (for debugging)")
flagSet.String(queryUIConfig, "", "The path to the UI configuration file in JSON format")
flagSet.Bool(queryTokenPropagation, false, "Allow propagation of bearer token to be used by storage plugins")
flagSet.Int(queryGRPCMaxReceiveMessageSize, 0, "The maximum receivable message size for the query's gRPC client")
flagSet.Duration(queryMaxClockSkewAdjust, 0, "The maximum delta by which span timestamps may be adjusted in the UI due to clock skew; set to 0s to disable clock skew adjustments")
tlsGRPCFlagsConfig.AddFlags(flagSet)
tlsHTTPFlagsConfig.AddFlags(flagSet)
Expand All @@ -121,6 +125,7 @@ func (qOpts *QueryOptions) InitFromViper(v *viper.Viper, logger *zap.Logger) (*Q
qOpts.LogStaticAssetsAccess = v.GetBool(queryLogStaticAssetsAccess)
qOpts.UIConfig = v.GetString(queryUIConfig)
qOpts.BearerTokenPropagation = v.GetBool(queryTokenPropagation)
qOpts.GRPCMaxReceiveMessageSize = v.GetInt(queryGRPCMaxReceiveMessageSize)

qOpts.MaxClockSkewAdjust = v.GetDuration(queryMaxClockSkewAdjust)
stringSlice := v.GetStringSlice(queryAdditionalHeaders)
Expand Down
3 changes: 3 additions & 0 deletions cmd/query/app/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,9 @@ func (s Server) HealthCheckStatus() chan healthcheck.Status {
func createGRPCServer(querySvc *querysvc.QueryService, metricsQuerySvc querysvc.MetricsQueryService, options *QueryOptions, tm *tenancy.Manager, logger *zap.Logger, tracer opentracing.Tracer) (*grpc.Server, error) {
var grpcOpts []grpc.ServerOption

if options.GRPCMaxReceiveMessageSize > 0 {
grpcOpts = append(grpcOpts, grpc.MaxRecvMsgSize(options.GRPCMaxReceiveMessageSize))
}
if options.TLSGRPC.Enabled {
tlsCfg, err := options.TLSGRPC.Config(logger)
if err != nil {
Expand Down

0 comments on commit 8da3ed8

Please sign in to comment.