From 238de0b1c4a13367b6b899722d1d9d67555cd85b Mon Sep 17 00:00:00 2001 From: Rob Skillington Date: Thu, 5 Nov 2020 13:15:36 -0500 Subject: [PATCH 01/41] [dbnode] [coordinator] Refactor config to use defaults wherever possible --- src/cmd/services/m3dbnode/config/config.go | 155 +++++++++++++++++---- src/cmd/services/m3dbnode/config/limits.go | 3 + src/dbnode/config/m3dbnode-local-etcd.yml | 32 +---- src/dbnode/runtime/runtime_options.go | 2 +- 4 files changed, 138 insertions(+), 54 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index e0ebed20da..4105037bfb 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -51,6 +51,30 @@ const ( defaultEtcdServerPort = 2380 ) +var ( + defaultLogging = xlog.Configuration{ + Level: "info", + } + defaultMetricsSanitization = instrument.PrometheusMetricSanitization + defaultMetricsExtendedMetricsType = instrument.DetailedExtendedMetrics + defaultMetrics = instrument.MetricsConfiguration{ + PrometheusReporter: &instrument.PrometheusConfiguration{ + HandlerPath: "/metrics", + }, + Sanitization: &defaultMetricsSanitization, + SamplingRate: 1.0, + ExtendedMetrics: &defaultMetricsExtendedMetricsType, + } + defaultListenAddress = "0.0.0.0:9000" + defaultClusterListenAddress = "0.0.0.0:9001" + defaultHTTPNodeListenAddress = "0.0.0.0:9002" + defaultHTTPClusterListenAddress = "0.0.0.0:9003" + defaultDebugListenAddress = "0.0.0.0:9004" + defaultGCPercentage = 100 + defaultWriteNewSeriesAsync = true + defaultWriteNewSeriesBackoffDuration = 2 * time.Millisecond +) + // Configuration is the top level configuration that includes both a DB // node and a coordinator. type Configuration struct { @@ -61,10 +85,10 @@ type Configuration struct { Coordinator *coordinatorcfg.Configuration `yaml:"coordinator"` } -// InitDefaultsAndValidate initializes all default values and validates the Configuration. -// We use this method to validate fields where the validator package falls short. -func (c *Configuration) InitDefaultsAndValidate() error { - return c.DB.InitDefaultsAndValidate() +// Validate validates the Configuration. We use this method to validate fields +// where the validator package falls short. +func (c *Configuration) Validate() error { + return c.DB.Validate() } // DBConfiguration is the configuration for a DB node. @@ -76,25 +100,25 @@ type DBConfiguration struct { Transforms TransformConfiguration `yaml:"transforms"` // Logging configuration. - Logging xlog.Configuration `yaml:"logging"` + Logging *xlog.Configuration `yaml:"logging"` // Metrics configuration. - Metrics instrument.MetricsConfiguration `yaml:"metrics"` + Metrics *instrument.MetricsConfiguration `yaml:"metrics"` // The host and port on which to listen for the node service. - ListenAddress string `yaml:"listenAddress" validate:"nonzero"` + ListenAddress *string `yaml:"listenAddress" validate:"nonzero"` // The host and port on which to listen for the cluster service. - ClusterListenAddress string `yaml:"clusterListenAddress" validate:"nonzero"` + ClusterListenAddress *string `yaml:"clusterListenAddress" validate:"nonzero"` // The HTTP host and port on which to listen for the node service. - HTTPNodeListenAddress string `yaml:"httpNodeListenAddress" validate:"nonzero"` + HTTPNodeListenAddress *string `yaml:"httpNodeListenAddress" validate:"nonzero"` // The HTTP host and port on which to listen for the cluster service. - HTTPClusterListenAddress string `yaml:"httpClusterListenAddress" validate:"nonzero"` + HTTPClusterListenAddress *string `yaml:"httpClusterListenAddress" validate:"nonzero"` // The host and port on which to listen for debug endpoints. - DebugListenAddress string `yaml:"debugListenAddress"` + DebugListenAddress *string `yaml:"debugListenAddress"` // HostID is the local host ID configuration. HostID hostid.Configuration `yaml:"hostID"` @@ -103,15 +127,7 @@ type DBConfiguration struct { Client client.Configuration `yaml:"client"` // The initial garbage collection target percentage. - GCPercentage int `yaml:"gcPercentage" validate:"max=100"` - - // TODO(V1): Move to `limits`. - // Write new series limit per second to limit overwhelming during new ID bursts. - WriteNewSeriesLimitPerSecond int `yaml:"writeNewSeriesLimitPerSecond"` - - // TODO(V1): Move to `limits`. - // Write new series backoff between batches of new series insertions. - WriteNewSeriesBackoffDuration time.Duration `yaml:"writeNewSeriesBackoffDuration"` + GCPercentage *int `yaml:"gcPercentage" validate:"max=100"` // The tick configuration, omit this to use default settings. Tick *TickConfiguration `yaml:"tick"` @@ -138,7 +154,7 @@ type DBConfiguration struct { Replication *ReplicationPolicy `yaml:"replication"` // The pooling policy. - PoolingPolicy PoolingPolicy `yaml:"pooling"` + PoolingPolicy *PoolingPolicy `yaml:"pooling"` // The environment (static or dynamic) configuration. EnvironmentConfig environment.Configuration `yaml:"config"` @@ -147,7 +163,10 @@ type DBConfiguration struct { Hashing HashingConfiguration `yaml:"hashing"` // Write new series asynchronously for fast ingestion of new ID bursts. - WriteNewSeriesAsync bool `yaml:"writeNewSeriesAsync"` + WriteNewSeriesAsync *bool `yaml:"writeNewSeriesAsync"` + + // Write new series backoff between batches of new series insertions. + WriteNewSeriesBackoffDuration *time.Duration `yaml:"writeNewSeriesBackoffDuration"` // Proto contains the configuration specific to running in the ProtoDataMode. Proto *ProtoConfiguration `yaml:"proto"` @@ -171,15 +190,97 @@ type DBConfiguration struct { Debug config.DebugConfiguration `yaml:"debug"` } -// InitDefaultsAndValidate initializes all default values and validates the Configuration. -// We use this method to validate fields where the validator package falls short. -func (c *DBConfiguration) InitDefaultsAndValidate() error { +// LoggingOrDefault returns the logging configuration or defaults. +func (c *DBConfiguration) LoggingOrDefault() xlog.Configuration { + if c.Logging == nil { + return defaultLogging + } + return *c.Logging +} + +// MetricsOrDefault returns metrics configuration or defaults. +func (c *DBConfiguration) MetricsOrDefault() instrument.MetricsConfiguration { + if c.Metrics == nil { + return defaultMetrics + } + return *c.Metrics +} + +// ListenAddressOrDefault returns the listen address or default. +func (c *DBConfiguration) ListenAddressOrDefault() string { + if c.ListenAddress == nil { + return defaultListenAddress + } + return *c.ListenAddress +} + +// ClusterListenAddressOrDefault returns the listen address or default. +func (c *DBConfiguration) ClusterListenAddressOrDefault() string { + if c.ClusterListenAddress == nil { + return defaultClusterListenAddress + } + return *c.ClusterListenAddress +} + +// HTTPNodeListenAddressOrDefault returns the listen address or default. +func (c *DBConfiguration) HTTPNodeListenAddressOrDefault() string { + if c.HTTPNodeListenAddress == nil { + return defaultHTTPNodeListenAddress + } + return *c.HTTPNodeListenAddress +} + +// HTTPClusterListenAddressOrDefault returns the listen address or default. +func (c *DBConfiguration) HTTPClusterListenAddressOrDefault() string { + if c.HTTPClusterListenAddress == nil { + return defaultHTTPClusterListenAddress + } + return *c.HTTPClusterListenAddress +} + +// DebugListenAddressOrDefault returns the listen address or default. +func (c *DBConfiguration) DebugListenAddressOrDefault() string { + if c.DebugListenAddress == nil { + return defaultDebugListenAddress + } + return *c.DebugListenAddress +} + +// GCPercentageOrDefault returns the GC percentage or default. +func (c *DBConfiguration) GCPercentageOrDefault() int { + if c.GCPercentage == nil { + return defaultGCPercentage + } + return *c.GCPercentage +} + +// WriteNewSeriesAsyncOrDefault returns whether to write new series async or not. +func (c *DBConfiguration) WriteNewSeriesAsyncOrDefault() bool { + if c.WriteNewSeriesAsync == nil { + return defaultWriteNewSeriesAsync + } + return *c.WriteNewSeriesAsync +} + +// WriteNewSeriesBackoffDurationOrDefault returns the backoff duration for new series inserts. +func (c *DBConfiguration) WriteNewSeriesBackoffDurationOrDefault() time.Duration { + if c.WriteNewSeriesBackoffDuration == nil { + return defaultWriteNewSeriesBackoffDuratio + } + return *c.WriteNewSeriesBackoffDuration +} + +// Validate validates the Configuration. We use this method to validate fields +// where the validator package falls short. +func (c *DBConfiguration) Validate() error { if err := c.Filesystem.Validate(); err != nil { return err } - if err := c.PoolingPolicy.InitDefaultsAndValidate(); err != nil { - return err + if c.PoolingPolicy != nil { + if err := c.PoolingPolicy.Validate(); err != nil { + return err + } } if err := c.Client.Validate(); err != nil { diff --git a/src/cmd/services/m3dbnode/config/limits.go b/src/cmd/services/m3dbnode/config/limits.go index 039d08f690..29c6dafe78 100644 --- a/src/cmd/services/m3dbnode/config/limits.go +++ b/src/cmd/services/m3dbnode/config/limits.go @@ -58,6 +58,9 @@ type LimitsConfiguration struct { // load on the CPU, which can prevent other DB operations. // A setting of 0 means there is no maximum. MaxEncodersPerBlock int `yaml:"maxEncodersPerBlock" validate:"min=0"` + + // Write new series limit per second to limit overwhelming during new ID bursts. + WriteNewSeriesPerSecond int `yaml:"writeNewSeriesPerSecond" validate:"min=0"` } // MaxRecentQueryResourceLimitConfiguration sets an upper limit on resources consumed by all queries diff --git a/src/dbnode/config/m3dbnode-local-etcd.yml b/src/dbnode/config/m3dbnode-local-etcd.yml index 1f9ab9fed6..efa53b8edb 100644 --- a/src/dbnode/config/m3dbnode-local-etcd.yml +++ b/src/dbnode/config/m3dbnode-local-etcd.yml @@ -1,4 +1,5 @@ coordinator: + # TODO: remove below and set default listenAddress: 0.0.0.0:7201 local: @@ -7,9 +8,11 @@ coordinator: type: unaggregated retention: 48h + # TODO: remove below and set default logging: level: info + # TODO: remove below and set default metrics: scope: prefix: "coordinator" @@ -20,47 +23,24 @@ coordinator: samplingRate: 1.0 extended: none + # TODO: remove below and set default tagOptions: # Configuration setting for generating metric IDs from tags. idScheme: quoted db: - logging: - level: info - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: config value: m3db_local - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 - writeNewSeriesBackoffDuration: 2ms - + # TODO: remove below and set default cache: series: policy: lru postingsList: size: 262144 + # TODO: remove below and set default commitlog: flushMaxBytes: 524288 flushEvery: 1s diff --git a/src/dbnode/runtime/runtime_options.go b/src/dbnode/runtime/runtime_options.go index 8baf6f15d0..aece7e16b5 100644 --- a/src/dbnode/runtime/runtime_options.go +++ b/src/dbnode/runtime/runtime_options.go @@ -33,7 +33,7 @@ const ( DefaultWriteConsistencyLevel = topology.ConsistencyLevelMajority // DefaultReadConsistencyLevel is the default read consistency level - DefaultReadConsistencyLevel = topology.ReadConsistencyLevelMajority + DefaultReadConsistencyLevel = topology.ReadConsistencyLevelUnstrictMajority // DefaultBootstrapConsistencyLevel is the default bootstrap consistency level DefaultBootstrapConsistencyLevel = topology.ReadConsistencyLevelMajority From fdc1021160a8d058dffc38ab2b28bd9883d13860 Mon Sep 17 00:00:00 2001 From: Rob Skillington Date: Thu, 5 Nov 2020 13:21:33 -0500 Subject: [PATCH 02/41] Refactor pooling policy --- src/cmd/services/m3dbnode/config/config.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 4105037bfb..0e448d252b 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -265,11 +265,25 @@ func (c *DBConfiguration) WriteNewSeriesAsyncOrDefault() bool { // WriteNewSeriesBackoffDurationOrDefault returns the backoff duration for new series inserts. func (c *DBConfiguration) WriteNewSeriesBackoffDurationOrDefault() time.Duration { if c.WriteNewSeriesBackoffDuration == nil { - return defaultWriteNewSeriesBackoffDuratio + return defaultWriteNewSeriesBackoffDuration } return *c.WriteNewSeriesBackoffDuration } +// PoolingPolicyOrDefault returns the pooling policy or default. +func (c *DBConfiguration) PoolingPolicyOrDefault() (PoolingPolicy, error) { + var policy PoolingPolicy + if c.PoolingPolicy != nil { + policy = *c.PoolingPolicy + } + + if err := policy.InitDefaultsAndValidate(); err != nil { + return PoolingPolicy{}, err + } + + return policy, nil +} + // Validate validates the Configuration. We use this method to validate fields // where the validator package falls short. func (c *DBConfiguration) Validate() error { @@ -277,10 +291,8 @@ func (c *DBConfiguration) Validate() error { return err } - if c.PoolingPolicy != nil { - if err := c.PoolingPolicy.Validate(); err != nil { - return err - } + if _, err := c.PoolingPolicyOrDefault(); err != nil { + return err } if err := c.Client.Validate(); err != nil { From 7051a1620a1a49b27bdefc238e270dc70ac96db7 Mon Sep 17 00:00:00 2001 From: Rob Skillington Date: Thu, 5 Nov 2020 15:03:35 -0500 Subject: [PATCH 03/41] By default remove the filesystem too --- src/dbnode/config/m3dbnode-local-etcd.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/dbnode/config/m3dbnode-local-etcd.yml b/src/dbnode/config/m3dbnode-local-etcd.yml index efa53b8edb..5cf4a19e75 100644 --- a/src/dbnode/config/m3dbnode-local-etcd.yml +++ b/src/dbnode/config/m3dbnode-local-etcd.yml @@ -48,6 +48,7 @@ db: calculationType: fixed size: 2097152 + # TODO: remove below and set default filesystem: filePathPrefix: /var/lib/m3db From 6b1086589446568fd02eff32cda131a028da423b Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 15:17:35 -0500 Subject: [PATCH 04/41] default coordinator section in dbnode config --- src/cmd/services/m3query/config/config.go | 51 +++++++++++++++++++++-- src/dbnode/config/m3dbnode-local-etcd.yml | 23 ---------- 2 files changed, 48 insertions(+), 26 deletions(-) diff --git a/src/cmd/services/m3query/config/config.go b/src/cmd/services/m3query/config/config.go index e1da5d5e13..5971adca3b 100644 --- a/src/cmd/services/m3query/config/config.go +++ b/src/cmd/services/m3query/config/config.go @@ -57,6 +57,8 @@ const ( // coordinators used only to serve m3admin APIs. NoopEtcdStorageType BackendStorageType = "noop-etcd" + defaultListenAddress = "0.0.0.0:7201" + defaultCarbonIngesterListenAddress = "0.0.0.0:7204" defaultQueryTimeout = 30 * time.Second @@ -65,6 +67,25 @@ const ( ) var ( + defaultLogging = xlog.Configuration{ + Level: "info", + } + defaultMetricsSanitization = instrument.PrometheusMetricSanitization + defaultMetricsExtendedMetricsType = instrument.NoExtendedMetrics + defaultMetrics = instrument.MetricsConfiguration{ + RootScope: &instrument.ScopeConfiguration{ + Prefix: "coordinator", + }, + PrometheusReporter: &instrument.PrometheusConfiguration{ + HandlerPath: "/metrics", + // Default to coordinator (until https://github.com/m3db/m3/issues/682 is resolved) + ListenAddress: "0.0.0.0:7203", + }, + Sanitization: &defaultMetricsSanitization, + SamplingRate: 1.0, + ExtendedMetrics: &defaultMetricsExtendedMetricsType, + } + // 5m is the default lookback in Prometheus defaultLookbackDuration = 5 * time.Minute @@ -89,10 +110,10 @@ var ( // Configuration is the configuration for the query service. type Configuration struct { // Metrics configuration. - Metrics instrument.MetricsConfiguration `yaml:"metrics"` + Metrics *instrument.MetricsConfiguration `yaml:"metrics"` // Logging configuration. - Logging xlog.Configuration `yaml:"logging"` + Logging *xlog.Configuration `yaml:"logging"` // Tracing configures opentracing. If not provided, tracing is disabled. Tracing opentracing.TracingConfiguration `yaml:"tracing"` @@ -110,7 +131,7 @@ type Configuration struct { ClusterManagement *ClusterManagementConfiguration `yaml:"clusterManagement"` // ListenAddress is the server listen address. - ListenAddress string `yaml:"listenAddress" validate:"nonzero"` + ListenAddress *string `yaml:"listenAddress" validate:"nonzero"` // Filter is the read/write/complete tags filter configuration. Filter FilterConfiguration `yaml:"filter"` @@ -167,6 +188,30 @@ type Configuration struct { Debug config.DebugConfiguration `yaml:"debug"` } +// ListenAddressOrDefault returns the listen address or default. +func (c Configuration) ListenAddressOrDefault() string { + if c.ListenAddress != nil { + return *c.ListenAddress + } + return defaultListenAddress +} + +// LoggingOrDefault returns the logging config or default. +func (c Configuration) LoggingOrDefault() xlog.Configuration { + if c.Logging != nil { + return *c.Logging + } + return defaultLogging +} + +// MetricsOrDefault returns the metrics config or default. +func (c Configuration) MetricsOrDefault() instrument.MetricsConfiguration { + if c.Metrics != nil { + return *c.Metrics + } + return defaultMetrics +} + // WriteWorkerPoolOrDefault returns the write worker pool config or default. func (c Configuration) WriteWorkerPoolOrDefault() xconfig.WorkerPoolPolicy { if c.WriteWorkerPool != nil { diff --git a/src/dbnode/config/m3dbnode-local-etcd.yml b/src/dbnode/config/m3dbnode-local-etcd.yml index efa53b8edb..9852026176 100644 --- a/src/dbnode/config/m3dbnode-local-etcd.yml +++ b/src/dbnode/config/m3dbnode-local-etcd.yml @@ -1,33 +1,10 @@ coordinator: - # TODO: remove below and set default - listenAddress: 0.0.0.0:7201 - local: namespaces: - namespace: default type: unaggregated retention: 48h - # TODO: remove below and set default - logging: - level: info - - # TODO: remove below and set default - metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - - # TODO: remove below and set default - tagOptions: - # Configuration setting for generating metric IDs from tags. - idScheme: quoted - db: hostID: resolver: config From 10ee09140e048e2aac8b265dadc4d2bf5e3550fe Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 15:29:09 -0500 Subject: [PATCH 05/41] default coordinator section in dbnode config 2 --- src/cmd/services/m3dbnode/config/config.go | 51 ++++++++++++++++++++-- src/dbnode/config/m3dbnode-local-etcd.yml | 18 -------- 2 files changed, 48 insertions(+), 21 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 0e448d252b..153ccc7e4f 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -73,6 +73,27 @@ var ( defaultGCPercentage = 100 defaultWriteNewSeriesAsync = true defaultWriteNewSeriesBackoffDuration = 2 * time.Millisecond + defaultCachePostingsListSize = 262144 + defaultCache = CacheConfigurations{ + Series: &SeriesCacheConfiguration{ + Policy: series.DefaultCachePolicy, + }, + PostingsList: &PostingsListCacheConfiguration{ + Size: &defaultCachePostingsListSize, + }, + } + defaultCommitLogPolicy = CommitLogPolicy{ + FlushMaxBytes: 524288, + FlushEvery: time.Second * 1, + Queue: CommitLogQueuePolicy{ + Size: 2097152, + CalculationType: CalculationTypeFixed, + }, + } + defaultFilesystemPrefix = "/var/lib/m3db" + defaultFilesystem = FilesystemConfiguration{ + FilePathPrefix: &defaultFilesystemPrefix, + } ) // Configuration is the top level configuration that includes both a DB @@ -139,13 +160,13 @@ type DBConfiguration struct { BlockRetrieve *BlockRetrievePolicy `yaml:"blockRetrieve"` // Cache configurations. - Cache CacheConfigurations `yaml:"cache"` + Cache *CacheConfigurations `yaml:"cache"` // The filesystem configuration for the node. - Filesystem FilesystemConfiguration `yaml:"filesystem"` + Filesystem *FilesystemConfiguration `yaml:"filesystem"` // The commit log policy for the node. - CommitLog CommitLogPolicy `yaml:"commitlog"` + CommitLog *CommitLogPolicy `yaml:"commitlog"` // The repair policy for repairing data within a cluster. Repair *RepairPolicy `yaml:"repair"` @@ -246,6 +267,30 @@ func (c *DBConfiguration) DebugListenAddressOrDefault() string { return *c.DebugListenAddress } +// CacheOrDefault returns the cache configuration or default. +func (c *DBConfiguration) CacheOrDefault() CacheConfigurations { + if c.Cache == nil { + return defaultCache + } + return *c.Cache +} + +// FilesystemOrDefault returns the filesystem configuration or default. +func (c *DBConfiguration) FilesystemOrDefault() FilesystemConfiguration { + if c.Filesystem == nil { + return defaultFilesystem + } + return *c.Filesystem +} + +// CommitLogOrDefault returns the commit log policy or default. +func (c *DBConfiguration) CommitLogOrDefault() CommitLogPolicy { + if c.CommitLog == nil { + return defaultCommitLogPolicy + } + return *c.CommitLog +} + // GCPercentageOrDefault returns the GC percentage or default. func (c *DBConfiguration) GCPercentageOrDefault() int { if c.GCPercentage == nil { diff --git a/src/dbnode/config/m3dbnode-local-etcd.yml b/src/dbnode/config/m3dbnode-local-etcd.yml index 9852026176..b40dbaae7d 100644 --- a/src/dbnode/config/m3dbnode-local-etcd.yml +++ b/src/dbnode/config/m3dbnode-local-etcd.yml @@ -10,24 +10,6 @@ db: resolver: config value: m3db_local - # TODO: remove below and set default - cache: - series: - policy: lru - postingsList: - size: 262144 - - # TODO: remove below and set default - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - config: service: env: default_env From 92525280b25c9d2e0f8f773325fa10eb1f9a2db5 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 15:37:08 -0500 Subject: [PATCH 06/41] build fixes 1 --- src/dbnode/server/server.go | 55 +++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/src/dbnode/server/server.go b/src/dbnode/server/server.go index 2adc9a52d1..9cda43df69 100644 --- a/src/dbnode/server/server.go +++ b/src/dbnode/server/server.go @@ -167,7 +167,7 @@ func Run(runOpts RunOptions) { cfg = runOpts.Config } - err := cfg.InitDefaultsAndValidate() + err := cfg.Validate() if err != nil { // NB(r): Use fmt.Fprintf(os.Stderr, ...) to avoid etcd.SetGlobals() // sending stdlib "log" to black hole. Don't remove unless with good reason. @@ -229,7 +229,7 @@ func Run(runOpts RunOptions) { defer fslock.Release() go bgValidateProcessLimits(logger) - debug.SetGCPercent(cfg.GCPercentage) + debug.SetGCPercent(cfg.GCPercentageOrDefault()) scope, _, err := cfg.Metrics.NewRootScope() if err != nil { @@ -392,8 +392,8 @@ func Run(runOpts RunOptions) { SetLimitEnabled(true). SetLimitMbps(cfg.Filesystem.ThroughputLimitMbpsOrDefault()). SetLimitCheckEvery(cfg.Filesystem.ThroughputCheckEveryOrDefault())). - SetWriteNewSeriesAsync(cfg.WriteNewSeriesAsync). - SetWriteNewSeriesBackoffDuration(cfg.WriteNewSeriesBackoffDuration) + SetWriteNewSeriesAsync(cfg.WriteNewSeriesAsyncOrDefault()). + SetWriteNewSeriesBackoffDuration(cfg.WriteNewSeriesBackoffDurationOrDefault()) if lruCfg := cfg.Cache.SeriesConfiguration().LRU; lruCfg != nil { runtimeOpts = runtimeOpts.SetMaxWiredBlocks(lruCfg.MaxBlocks) } @@ -440,7 +440,7 @@ func Run(runOpts RunOptions) { // FOLLOWUP(prateek): remove this once we have the runtime options<->index wiring done indexOpts := opts.IndexOptions() insertMode := index.InsertSync - if cfg.WriteNewSeriesAsync { + if cfg.WriteNewSeriesAsyncOrDefault() { insertMode = index.InsertAsync } indexOpts = indexOpts.SetInsertMode(insertMode). @@ -542,7 +542,11 @@ func Run(runOpts RunOptions) { opts = opts.SetSeriesCachePolicy(seriesCachePolicy) // Apply pooling options. - opts = withEncodingAndPoolingOptions(cfg, logger, opts, cfg.PoolingPolicy) + poolingPolicy, err := cfg.PoolingPolicyOrDefault() + if err != nil { + logger.Fatal("could not get pooling policy", zap.Error(err)) + } + opts = withEncodingAndPoolingOptions(cfg, logger, opts, poolingPolicy) opts = opts.SetCommitLogOptions(opts.CommitLogOptions(). SetInstrumentOptions(opts.InstrumentOptions()). @@ -663,25 +667,28 @@ func Run(runOpts RunOptions) { if fn := runOpts.StorageOptions.TChanNodeServerFn; fn != nil { tchanOpts = tchanOpts.SetTChanNodeServerFn(fn) } + listenAddress := cfg.ListenAddressOrDefault() tchannelthriftNodeClose, err := ttnode.NewServer(service, - cfg.ListenAddress, contextPool, tchanOpts).ListenAndServe() + listenAddress, contextPool, tchanOpts).ListenAndServe() if err != nil { logger.Fatal("could not open tchannelthrift interface", - zap.String("address", cfg.ListenAddress), zap.Error(err)) + zap.String("address", listenAddress), zap.Error(err)) } defer tchannelthriftNodeClose() - logger.Info("node tchannelthrift: listening", zap.String("address", cfg.ListenAddress)) + logger.Info("node tchannelthrift: listening", zap.String("address", listenAddress)) + httpListenAddress := cfg.HTTPNodeListenAddressOrDefault() httpjsonNodeClose, err := hjnode.NewServer(service, - cfg.HTTPNodeListenAddress, contextPool, nil).ListenAndServe() + httpListenAddress, contextPool, nil).ListenAndServe() if err != nil { logger.Fatal("could not open httpjson interface", - zap.String("address", cfg.HTTPNodeListenAddress), zap.Error(err)) + zap.String("address", httpListenAddress), zap.Error(err)) } defer httpjsonNodeClose() - logger.Info("node httpjson: listening", zap.String("address", cfg.HTTPNodeListenAddress)) + logger.Info("node httpjson: listening", zap.String("address", httpListenAddress)) - if cfg.DebugListenAddress != "" { + debugListenAddress := cfg.DebugListenAddressOrDefault() + if debugListenAddress != "" { var debugWriter xdebug.ZipWriter handlerOpts, err := placement.NewHandlerOptions(syncCfg.ClusterClient, queryconfig.Configuration{}, nil, iopts) @@ -722,12 +729,12 @@ func Run(runOpts RunOptions) { } } - if err := http.ListenAndServe(cfg.DebugListenAddress, mux); err != nil { + if err := http.ListenAndServe(debugListenAddress, mux); err != nil { logger.Error("debug server could not listen", - zap.String("address", cfg.DebugListenAddress), zap.Error(err)) + zap.String("address", debugListenAddress), zap.Error(err)) } else { logger.Info("debug server listening", - zap.String("address", cfg.DebugListenAddress), + zap.String("address", debugListenAddress), ) } }() @@ -863,23 +870,25 @@ func Run(runOpts RunOptions) { opts = opts.SetBootstrapProcessProvider(bs) // Start the cluster services now that the M3DB client is available. + clusterListenAddress := cfg.ClusterListenAddressOrDefault() tchannelthriftClusterClose, err := ttcluster.NewServer(m3dbClient, - cfg.ClusterListenAddress, contextPool, tchannelOpts).ListenAndServe() + clusterListenAddress, contextPool, tchannelOpts).ListenAndServe() if err != nil { logger.Fatal("could not open tchannelthrift interface", - zap.String("address", cfg.ClusterListenAddress), zap.Error(err)) + zap.String("address", clusterListenAddress), zap.Error(err)) } defer tchannelthriftClusterClose() - logger.Info("cluster tchannelthrift: listening", zap.String("address", cfg.ClusterListenAddress)) + logger.Info("cluster tchannelthrift: listening", zap.String("address", clusterListenAddress)) + httpClusterListenAddress := cfg.HTTPClusterListenAddressOrDefault() httpjsonClusterClose, err := hjcluster.NewServer(m3dbClient, - cfg.HTTPClusterListenAddress, contextPool, nil).ListenAndServe() + httpClusterListenAddress, contextPool, nil).ListenAndServe() if err != nil { logger.Fatal("could not open httpjson interface", - zap.String("address", cfg.HTTPClusterListenAddress), zap.Error(err)) + zap.String("address", httpClusterListenAddress), zap.Error(err)) } defer httpjsonClusterClose() - logger.Info("cluster httpjson: listening", zap.String("address", cfg.HTTPClusterListenAddress)) + logger.Info("cluster httpjson: listening", zap.String("address", httpClusterListenAddress)) // Initialize clustered database. clusterTopoWatch, err := topo.Watch() @@ -926,7 +935,7 @@ func Run(runOpts RunOptions) { // Only set the write new series limit after bootstrapping kvWatchNewSeriesLimitPerShard(syncCfg.KVStore, logger, topo, - runtimeOptsMgr, cfg.WriteNewSeriesLimitPerSecond) + runtimeOptsMgr, cfg.Limits.WriteNewSeriesPerSecond) kvWatchEncodersPerBlockLimit(syncCfg.KVStore, logger, runtimeOptsMgr, cfg.Limits.MaxEncodersPerBlock) }() From 943afd28ba6d8f0727da5a3cd32a86a7fbc12a14 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 15:40:55 -0500 Subject: [PATCH 07/41] build fixes 2 --- src/cmd/services/m3dbnode/main/main.go | 2 +- src/query/api/v1/handler/database/create.go | 2 +- src/query/server/query.go | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/cmd/services/m3dbnode/main/main.go b/src/cmd/services/m3dbnode/main/main.go index 9112a6d8cd..81d006d4b5 100644 --- a/src/cmd/services/m3dbnode/main/main.go +++ b/src/cmd/services/m3dbnode/main/main.go @@ -56,7 +56,7 @@ func main() { os.Exit(1) } - if err := cfg.InitDefaultsAndValidate(); err != nil { + if err := cfg.Validate(); err != nil { // NB(r): Use fmt.Fprintf(os.Stderr, ...) to avoid etcd.SetGlobals() // sending stdlib "log" to black hole. Don't remove unless with good reason. fmt.Fprintf(os.Stderr, "erro validating config: %v\n", err) diff --git a/src/query/api/v1/handler/database/create.go b/src/query/api/v1/handler/database/create.go index 76e433b661..de9e7054f8 100644 --- a/src/query/api/v1/handler/database/create.go +++ b/src/query/api/v1/handler/database/create.go @@ -573,7 +573,7 @@ func defaultedPlacementInitRequest( return nil, errMissingEmbeddedDBConfig } - addr := embeddedDbCfg.ListenAddress + addr := embeddedDbCfg.ListenAddressOrDefault() port, err := portFromEmbeddedDBConfigListenAddress(addr) if err != nil { return nil, err diff --git a/src/query/server/query.go b/src/query/server/query.go index 054e7055c1..7bc832eef1 100644 --- a/src/query/server/query.go +++ b/src/query/server/query.go @@ -488,7 +488,8 @@ func Run(runOpts RunOptions) { logger.Fatal("unable to register routes", zap.Error(err)) } - srv := &http.Server{Addr: cfg.ListenAddress, Handler: handler.Router()} + listenAddress := cfg.ListenAddressOrDefault() + srv := &http.Server{Addr: listenAddress, Handler: handler.Router()} defer func() { logger.Info("closing server") if err := srv.Shutdown(context.Background()); err != nil { @@ -496,10 +497,10 @@ func Run(runOpts RunOptions) { } }() - listener, err := listenerOpts.Listen("tcp", cfg.ListenAddress) + listener, err := listenerOpts.Listen("tcp", listenAddress) if err != nil { logger.Fatal("unable to listen on listen address", - zap.String("address", cfg.ListenAddress), + zap.String("address", listenAddress), zap.Error(err)) } if runOpts.ListenerCh != nil { @@ -509,7 +510,7 @@ func Run(runOpts RunOptions) { logger.Info("starting API server", zap.Stringer("address", listener.Addr())) if err := srv.Serve(listener); err != nil && err != http.ErrServerClosed { logger.Fatal("server serve error", - zap.String("address", cfg.ListenAddress), + zap.String("address", listenAddress), zap.Error(err)) } }() From 4021b304996e34121405b1315f5f2244df555338 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 15:58:39 -0500 Subject: [PATCH 08/41] lint --- src/cmd/services/m3dbnode/config/config.go | 47 ++++++++++++++++++++-- src/cmd/services/m3query/config/config.go | 26 ++++++++---- 2 files changed, 62 insertions(+), 11 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 153ccc7e4f..5a2b2fb88c 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -53,17 +53,26 @@ const ( var ( defaultLogging = xlog.Configuration{ - Level: "info", + Level: "info", + File: "", + Fields: nil, } defaultMetricsSanitization = instrument.PrometheusMetricSanitization defaultMetricsExtendedMetricsType = instrument.DetailedExtendedMetrics defaultMetrics = instrument.MetricsConfiguration{ + RootScope: nil, PrometheusReporter: &instrument.PrometheusConfiguration{ - HandlerPath: "/metrics", + HandlerPath: "/metrics", + ListenAddress: "", + TimerType: "", + DefaultHistogramBuckets: nil, + DefaultSummaryObjectives: nil, + OnError: "", }, Sanitization: &defaultMetricsSanitization, SamplingRate: 1.0, ExtendedMetrics: &defaultMetricsExtendedMetricsType, + M3Reporter: nil, } defaultListenAddress = "0.0.0.0:9000" defaultClusterListenAddress = "0.0.0.0:9001" @@ -77,10 +86,14 @@ var ( defaultCache = CacheConfigurations{ Series: &SeriesCacheConfiguration{ Policy: series.DefaultCachePolicy, + LRU: nil, }, PostingsList: &PostingsListCacheConfiguration{ - Size: &defaultCachePostingsListSize, + Size: &defaultCachePostingsListSize, + CacheRegexp: nil, + CacheTerms: nil, }, + Regexp: nil, } defaultCommitLogPolicy = CommitLogPolicy{ FlushMaxBytes: 524288, @@ -89,10 +102,23 @@ var ( Size: 2097152, CalculationType: CalculationTypeFixed, }, + QueueChannel: nil, } defaultFilesystemPrefix = "/var/lib/m3db" defaultFilesystem = FilesystemConfiguration{ - FilePathPrefix: &defaultFilesystemPrefix, + FilePathPrefix: &defaultFilesystemPrefix, + WriteBufferSize: nil, + DataReadBufferSize: nil, + InfoReadBufferSize: nil, + SeekReadBufferSize: nil, + ThroughputLimitMbps: nil, + ThroughputCheckEvery: nil, + NewFileMode: nil, + NewDirectoryMode: nil, + Mmap: nil, + ForceIndexSummariesMmapMemory: nil, + ForceBloomFilterMmapMemory: nil, + BloomFilterFalsePositivePercent: nil, } ) @@ -216,6 +242,7 @@ func (c *DBConfiguration) LoggingOrDefault() xlog.Configuration { if c.Logging == nil { return defaultLogging } + return *c.Logging } @@ -224,6 +251,7 @@ func (c *DBConfiguration) MetricsOrDefault() instrument.MetricsConfiguration { if c.Metrics == nil { return defaultMetrics } + return *c.Metrics } @@ -232,6 +260,7 @@ func (c *DBConfiguration) ListenAddressOrDefault() string { if c.ListenAddress == nil { return defaultListenAddress } + return *c.ListenAddress } @@ -240,6 +269,7 @@ func (c *DBConfiguration) ClusterListenAddressOrDefault() string { if c.ClusterListenAddress == nil { return defaultClusterListenAddress } + return *c.ClusterListenAddress } @@ -248,6 +278,7 @@ func (c *DBConfiguration) HTTPNodeListenAddressOrDefault() string { if c.HTTPNodeListenAddress == nil { return defaultHTTPNodeListenAddress } + return *c.HTTPNodeListenAddress } @@ -256,6 +287,7 @@ func (c *DBConfiguration) HTTPClusterListenAddressOrDefault() string { if c.HTTPClusterListenAddress == nil { return defaultHTTPClusterListenAddress } + return *c.HTTPClusterListenAddress } @@ -264,6 +296,7 @@ func (c *DBConfiguration) DebugListenAddressOrDefault() string { if c.DebugListenAddress == nil { return defaultDebugListenAddress } + return *c.DebugListenAddress } @@ -272,6 +305,7 @@ func (c *DBConfiguration) CacheOrDefault() CacheConfigurations { if c.Cache == nil { return defaultCache } + return *c.Cache } @@ -280,6 +314,7 @@ func (c *DBConfiguration) FilesystemOrDefault() FilesystemConfiguration { if c.Filesystem == nil { return defaultFilesystem } + return *c.Filesystem } @@ -288,6 +323,7 @@ func (c *DBConfiguration) CommitLogOrDefault() CommitLogPolicy { if c.CommitLog == nil { return defaultCommitLogPolicy } + return *c.CommitLog } @@ -296,6 +332,7 @@ func (c *DBConfiguration) GCPercentageOrDefault() int { if c.GCPercentage == nil { return defaultGCPercentage } + return *c.GCPercentage } @@ -304,6 +341,7 @@ func (c *DBConfiguration) WriteNewSeriesAsyncOrDefault() bool { if c.WriteNewSeriesAsync == nil { return defaultWriteNewSeriesAsync } + return *c.WriteNewSeriesAsync } @@ -312,6 +350,7 @@ func (c *DBConfiguration) WriteNewSeriesBackoffDurationOrDefault() time.Duration if c.WriteNewSeriesBackoffDuration == nil { return defaultWriteNewSeriesBackoffDuration } + return *c.WriteNewSeriesBackoffDuration } diff --git a/src/cmd/services/m3query/config/config.go b/src/cmd/services/m3query/config/config.go index 5971adca3b..7f0bfb53db 100644 --- a/src/cmd/services/m3query/config/config.go +++ b/src/cmd/services/m3query/config/config.go @@ -68,18 +68,26 @@ const ( var ( defaultLogging = xlog.Configuration{ - Level: "info", + Level: "info", + File: "", + Fields: nil, } defaultMetricsSanitization = instrument.PrometheusMetricSanitization defaultMetricsExtendedMetricsType = instrument.NoExtendedMetrics defaultMetrics = instrument.MetricsConfiguration{ RootScope: &instrument.ScopeConfiguration{ - Prefix: "coordinator", + Prefix: "coordinator", + ReportingInterval: 0, + CommonTags: nil, }, PrometheusReporter: &instrument.PrometheusConfiguration{ HandlerPath: "/metrics", // Default to coordinator (until https://github.com/m3db/m3/issues/682 is resolved) - ListenAddress: "0.0.0.0:7203", + ListenAddress: "0.0.0.0:7203", + TimerType: "", + DefaultHistogramBuckets: nil, + DefaultSummaryObjectives: nil, + OnError: "", }, Sanitization: &defaultMetricsSanitization, SamplingRate: 1.0, @@ -189,34 +197,38 @@ type Configuration struct { } // ListenAddressOrDefault returns the listen address or default. -func (c Configuration) ListenAddressOrDefault() string { +func (c *Configuration) ListenAddressOrDefault() string { if c.ListenAddress != nil { return *c.ListenAddress } + return defaultListenAddress } // LoggingOrDefault returns the logging config or default. -func (c Configuration) LoggingOrDefault() xlog.Configuration { +func (c *Configuration) LoggingOrDefault() xlog.Configuration { if c.Logging != nil { return *c.Logging } + return defaultLogging } // MetricsOrDefault returns the metrics config or default. -func (c Configuration) MetricsOrDefault() instrument.MetricsConfiguration { +func (c *Configuration) MetricsOrDefault() instrument.MetricsConfiguration { if c.Metrics != nil { return *c.Metrics } + return defaultMetrics } // WriteWorkerPoolOrDefault returns the write worker pool config or default. -func (c Configuration) WriteWorkerPoolOrDefault() xconfig.WorkerPoolPolicy { +func (c *Configuration) WriteWorkerPoolOrDefault() xconfig.WorkerPoolPolicy { if c.WriteWorkerPool != nil { return *c.WriteWorkerPool } + return defaultWriteWorkerPool } From 6382b2b5db4587788ca2b5433b9da473da299566 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 16:05:52 -0500 Subject: [PATCH 09/41] lint 2 --- src/cmd/services/m3query/config/config.go | 1 + src/query/api/v1/handler/database/create_test.go | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cmd/services/m3query/config/config.go b/src/cmd/services/m3query/config/config.go index 7f0bfb53db..2df25342b1 100644 --- a/src/cmd/services/m3query/config/config.go +++ b/src/cmd/services/m3query/config/config.go @@ -92,6 +92,7 @@ var ( Sanitization: &defaultMetricsSanitization, SamplingRate: 1.0, ExtendedMetrics: &defaultMetricsExtendedMetricsType, + M3Reporter: nil, } // 5m is the default lookback in Prometheus diff --git a/src/query/api/v1/handler/database/create_test.go b/src/query/api/v1/handler/database/create_test.go index f72a4ff540..35f46b2f43 100644 --- a/src/query/api/v1/handler/database/create_test.go +++ b/src/query/api/v1/handler/database/create_test.go @@ -50,8 +50,9 @@ import ( ) var ( - testDBCfg = &dbconfig.DBConfiguration{ - ListenAddress: "0.0.0.0:9000", + listenAddress = "0.0.0.0:9000" + testDBCfg = &dbconfig.DBConfiguration{ + ListenAddress: &listenAddress, } svcDefaultOptions = []handleroptions.ServiceOptionsDefault{ From b38c754d8990303712397910bd29a483c92ab391 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 16:21:09 -0500 Subject: [PATCH 10/41] lint --- go.mod | 10 +- go.sum | 190 ++++++++++++++++++++++++++++++++++++ src/dbnode/server/server.go | 4 +- 3 files changed, 194 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index 8e46e640e9..7d9ccea77c 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,6 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d // indirect github.com/DataDog/datadog-go v3.7.1+incompatible // indirect - github.com/Masterminds/semver v1.5.0 // indirect github.com/MichaelTJones/pcg v0.0.0-20180122055547-df440c6ed7ed github.com/Microsoft/go-winio v0.4.14 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect @@ -24,7 +23,6 @@ require ( github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f github.com/davecgh/go-spew v1.1.1 github.com/docker/go-connections v0.4.0 // indirect - github.com/fatih/color v1.10.0 // indirect github.com/fortytw2/leaktest v1.2.1-0.20180901000122-b433bbd6d743 github.com/fossas/fossa-cli v1.0.30 github.com/garethr/kubeval v0.0.0-20180821130434-c44f5193dc94 @@ -37,6 +35,7 @@ require ( github.com/golang/mock v1.4.4 github.com/golang/protobuf v1.4.2 github.com/golang/snappy v0.0.1 + github.com/golangci/golangci-lint v1.32.2 // indirect github.com/google/go-cmp v0.5.2 github.com/google/go-jsonnet v0.16.0 github.com/google/uuid v1.1.2-0.20190416172445-c2e93f3ae59f // indirect @@ -48,7 +47,6 @@ require ( github.com/influxdata/influxdb v1.7.7 github.com/jhump/protoreflect v1.6.1 github.com/json-iterator/go v1.1.9 - github.com/kr/text v0.2.0 // indirect github.com/leanovate/gopter v0.2.8 github.com/lib/pq v1.6.0 // indirect github.com/lightstep/lightstep-tracer-go v0.18.1 @@ -67,9 +65,6 @@ require ( github.com/m3dbx/vellum v0.0.0-20200826162549-f94c029903de github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885 github.com/mjibson/esc v0.1.0 - github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect - github.com/onsi/ginkgo v1.14.1 // indirect - github.com/onsi/gomega v1.10.2 // indirect github.com/opencontainers/image-spec v1.0.1 // indirect github.com/opencontainers/runc v0.1.1 // indirect github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9 @@ -95,7 +90,6 @@ require ( github.com/satori/go.uuid v1.2.0 github.com/sergi/go-diff v1.1.0 github.com/shirou/gopsutil v2.20.5+incompatible // indirect - github.com/sirupsen/logrus v1.7.0 // indirect github.com/spf13/cast v1.3.1-0.20190531151931-f31dc0aaab5a // indirect github.com/spf13/cobra v1.1.1 github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -125,7 +119,6 @@ require ( golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 google.golang.org/grpc v1.29.1 - gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect gopkg.in/go-ini/ini.v1 v1.57.0 // indirect gopkg.in/go-playground/assert.v1 v1.2.1 // indirect gopkg.in/go-playground/validator.v9 v9.7.0 @@ -135,7 +128,6 @@ require ( gopkg.in/vmihailenco/msgpack.v2 v2.8.3 gopkg.in/yaml.v2 v2.3.0 gotest.tools v2.2.0+incompatible - honnef.co/go/tools v0.0.1-2020.1.6 // indirect ) // branch 0.9.3-pool-read-binary-3 diff --git a/go.sum b/go.sum index 2971417542..9b894ed15d 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a h1:wFEQiK85fRsEVF0CRrPAos5LoAryUsIX1kPW/WrIqFw= +4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= @@ -37,6 +39,8 @@ github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d/go.mod h1:Rn2zM2M github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go v3.7.1+incompatible h1:HmA9qHVrHIAqpSvoCYJ+c6qst0lgqEhNW6/KwfkHbS8= github.com/DataDog/datadog-go v3.7.1+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5 h1:XTrzB+F8+SpRmbhAH8HLxhiiG6nYNwaBZjrFps1oWEk= +github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -51,6 +55,8 @@ github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= +github.com/OpenPeeDeeP/depguard v1.0.1 h1:VlW4R6jmBIv3/u1JNlawEvJMM4J+dPORPaZasQee8Us= +github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -74,6 +80,7 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5 h1:P5U+E4x5OkVEKQDklVPmzs71WM56RTTRqV4OrDC//Y4= github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5/go.mod h1:976q2ETgjT2snVCf2ZaBnyBbVoPERGjUz+0sofzEfro= +github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= @@ -112,6 +119,8 @@ github.com/bmatcuk/doublestar v1.3.1 h1:rT8rxDPsavp9G+4ZULzqhhUSaI/OPsTZNG88Z3i0 github.com/bmatcuk/doublestar v1.3.1/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b h1:AP/Y7sqYicnjGDfD5VcY4CIfh1hRXBUavxrvELjTiOE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q= +github.com/bombsimon/wsl/v3 v3.1.0 h1:E5SRssoBgtVFPcYWUOFJEcgaySgdtTNYzsSKDOY7ss8= +github.com/bombsimon/wsl/v3 v3.1.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/briandowns/spinner v1.11.1 h1:OixPqDEcX3juo5AjQZAnFPbeUA0jvkp2qzB5gOZJ/L0= github.com/briandowns/spinner v1.11.1/go.mod h1:QOuQk7x+EaDASo80FEXwlwiA+j/PPIcX3FScO+3/ZPQ= github.com/c2h5oh/datasize v0.0.0-20171227191756-4eba002a5eae h1:2Zmk+8cNvAGuY8AyvZuWpUdpQUAXwfom4ReVMe/CTIo= @@ -164,6 +173,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/daixiang0/gci v0.2.4 h1:BUCKk5nlK2m+kRIsoj+wb/5hazHvHeZieBKWd9Afa8Q= +github.com/daixiang0/gci v0.2.4/go.mod h1:+AV8KmHTGxxwp/pY84TLQfFKp2vuKXXJVzF3kD/hfR4= github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -173,6 +184,8 @@ github.com/daviddengcn/go-assert v0.0.0-20150305222929-ba7e68aeeff6 h1:OPIYL/VhQ github.com/daviddengcn/go-assert v0.0.0-20150305222929-ba7e68aeeff6/go.mod h1:N+OekMaElW3rSAfDdNX6Dff3HS237/OhC08jYFW4oCw= github.com/daviddengcn/go-villa v0.0.0-20160111144444-3f35da8ba982 h1:2Trx4ntMtxmus9nN2w1PIqJOI8jB3RjlnDnFm/ImlIU= github.com/daviddengcn/go-villa v0.0.0-20160111144444-3f35da8ba982/go.mod h1:U8xNoHcXfPnZzy9zCxeKRjaJgC1d3613rFHjZVVAqKc= +github.com/denis-tingajkin/go-header v0.3.1 h1:ymEpSiFjeItCy1FOP+x0M2KdCELdEAHUsNa8F+hHc6w= +github.com/denis-tingajkin/go-header v0.3.1/go.mod h1:sq/2IxMhaZX+RRcgHfCRx/m0M5na0fBt4/CRe7Lrji0= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= @@ -234,6 +247,8 @@ github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 h1:gclg6gY70GLy github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/gnewton/jargo v0.0.0-20150417131352-41f5f186a805 h1:rLZXvVgFIon3lI+v9IL8t1AmG9/yLMSRB5LQ0frn+6Q= github.com/gnewton/jargo v0.0.0-20150417131352-41f5f186a805/go.mod h1:x+HLDnZexLq1FmhrdgFf4c3EWGbqhU3ITvISBFyzvRo= +github.com/go-critic/go-critic v0.5.2 h1:3RJdgf6u4NZUumoP8nzbqiiNT8e1tC2Oc7jlgqre/IA= +github.com/go-critic/go-critic v0.5.2/go.mod h1:cc0+HvdE3lFpqLecgqMaJcvWWH77sLdBp+wLGPM1Yyo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -293,6 +308,29 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= +github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= +github.com/go-toolsmith/astcopy v1.0.0 h1:OMgl1b1MEpjFQ1m5ztEO06rz5CUd3oBv9RF7+DyvdG8= +github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= +github.com/go-toolsmith/astequal v1.0.0 h1:4zxD8j3JRFNyLN46lodQuqz3xdKSrur7U/sr0SDS/gQ= +github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= +github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= +github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= +github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= +github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= +github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= +github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc= +github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= +github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= +github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= +github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gofrs/flock v0.8.0 h1:MSdYClljsF3PbENUUEx85nkWfJSGfzYI9yEBZOJz6CY= +github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -328,6 +366,36 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= +github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6 h1:YYWNAGTKWhKpcLLt7aSj/odlKrSrelQwlovBpDuf19w= +github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0= +github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613 h1:9kfjN3AdxcbsZBf8NjltjWihK2QfBBBZuv91cMFfDHw= +github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8= +github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3 h1:pe9JHs3cHHDQgOFXJJdYkK6fLz2PWyYtP4hthoCMvs8= +github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o= +github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d h1:pXTK/gkVNs7Zyy7WKgLXmpQ5bHTrq5GDsp8R9Qs67g0= +github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= +github.com/golangci/golangci-lint v1.32.2 h1:CgIeFWTLJ3Nt1w/WU1RO351j/CjN6LIVjppbJfI9nMk= +github.com/golangci/golangci-lint v1.32.2/go.mod h1:ydr+IqtIVyAh72L16aK0bNdNg/YGa+AEgdbKj9MluzI= +github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc h1:gLLhTLMk2/SutryVJ6D4VZCU3CUqr8YloG7FPIBWFpI= +github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= +github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770 h1:EL/O5HGrF7Jaq0yNhBLucz9hTuRzj2LdwGBOaENgxIk= +github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= +github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21 h1:leSNB7iYzLYSSx3J/s5sVf4Drkc68W2wm4Ixh/mr0us= +github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI= +github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0 h1:HVfrLniijszjS1aiNg8JbBMO2+E1WIQ+j/gL4SQqGPg= +github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450 h1:7xqw01UYS+KCI25bMrPxwNYkSns2Db1ziQPpVq99FpE= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho= github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995 h1:f5gsjBiF9tRRVomCvrkGMMWI8W1f2OBFar2c5oakAP0= @@ -344,6 +412,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github/v30 v30.1.0 h1:VLDx+UolQICEOKu2m4uAoMti1SxuEBAl7RSEG16L+Oo= @@ -366,6 +435,7 @@ github.com/google/uuid v1.1.2-0.20190416172445-c2e93f3ae59f/go.mod h1:TIyPZe4Mgq github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/gookit/color v1.3.1/go.mod h1:R3ogXq2B9rTbXoSHJ1HyUVAZ3poOJHpd9nQmyGZsfvQ= github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gophercloud/gophercloud v0.8.0/go.mod h1:Kc/QKr9thLKruO/dG0szY8kRIYS+iENz0ziI0hJf76A= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -385,6 +455,12 @@ github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/z github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= +github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= +github.com/gostaticanalysis/analysisutil v0.1.0 h1:E4c8Y1EQURbBEAHoXc/jBTK7Np14ArT8NPUiSFOl9yc= +github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= +github.com/gostaticanalysis/comment v1.3.0 h1:wTVgynbFu8/nz6SGgywA0TcyIoAVsYc7ai/Zp5xNGlw= +github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -482,7 +558,13 @@ github.com/jcmturner/rpc/v2 v2.0.2/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJk github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.6.1 h1:4/2yi5LyDPP7nN+Hiird1SAJ6YoxUm13/oxHGRnbPd8= github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= +github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a h1:GmsqmapfzSJkm28dhRoHz2tLRbJmqhU86IPgBtN3mmk= +github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a/go.mod h1:xRskid8CManxVta/ALEhJha/pweKBaVG6fWgc0yH25s= +github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3 h1:jNYPNLe3d8smommaoQlK7LOA5ESyUJJ+Wf79ZtA7Vp4= +github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= @@ -503,8 +585,11 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= @@ -517,14 +602,18 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kyoh86/exportloopref v0.1.7 h1:u+iHuTbkbTS2D/JP7fCuZDo/t3rBVGo3Hf58Rc+lQVY= +github.com/kyoh86/exportloopref v0.1.7/go.mod h1:h1rDl2Kdj97+Kwh4gdz3ujE7XHmH51Q0lUiZ1z4NLj8= github.com/leanovate/gopter v0.2.8 h1:eFPtJ3aa5zLfbxGROSNY75T9Dume60CWBAqoWQ3h/ig= github.com/leanovate/gopter v0.2.8/go.mod h1:gNcbPWNEWRe4lm+bycKqxUYoH5uoVje5SkOJ3uoLer8= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.6.0 h1:I5DPxhYJChW9KYc66se+oKFFQX6VuQrKiprsX6ivRZc= github.com/lib/pq v1.6.0/go.mod h1:4vXEAYvW1fRQ2/FhZ78H73A60MHw1geSm145z2mdY1g= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/m3db/bitset v2.0.0+incompatible h1:wMgri1Z2QSwJ8K/7ZuV7vE4feLOT7EofVC8RakIOybI= github.com/m3db/bitset v2.0.0+incompatible/go.mod h1:X8CCqZmZxs2O6d4qHhiqtAKCin4G5mScPhiwX9rsc5c= @@ -567,6 +656,10 @@ github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= +github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= +github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb h1:RHba4YImhrUVQDHUCe2BNSOz4tVy2yGyXhvYDvxGgeE= +github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -584,10 +677,14 @@ github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHX github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885 h1:nCU/HIvsORu8nlebFTTkEpxao5zA/yt5Y4yQccm34bM= github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885/go.mod h1:wRyVMWiOZeVj+MieWS5tIBBtJ3RtqqMbPsA5Z+t5b5U= +github.com/mbilski/exhaustivestruct v1.1.0 h1:4ykwscnAFeHJruT+EY3M3vdeP8uXMh0VV2E61iR7XD8= +github.com/mbilski/exhaustivestruct v1.1.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= @@ -597,6 +694,7 @@ github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceT github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= @@ -616,12 +714,17 @@ github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lN github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= +github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= +github.com/mozilla/tls-observatory v0.0.0-20200317151703-4fa42e1c2dee/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae h1:VeRdUYdCw49yizlSbMEn2SZ+gT+3IUKx8BqxyQdz+BY= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/nakabonne/nestif v0.3.0 h1:+yOViDGhg8ygGrmII72nV9B/zGxY188TYpfolntsaPw= +github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -629,8 +732,12 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d h1:AREM5mwr4u1ORQBMvzfzBgpsctsbQikCVpvC+tX285E= +github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nishanths/exhaustive v0.1.0 h1:kVlMw8h2LHPMGUVqUj6230oQjjTMFjwcZrnkhXzFfl8= +github.com/nishanths/exhaustive v0.1.0/go.mod h1:S1j9110vxV1ECdCudXRkeMnFQ/DQk9ajLT0Uf2MYZQQ= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= @@ -696,6 +803,8 @@ github.com/pelletier/go-toml v1.5.0 h1:5BakdOZdtKJ1FFk6QdL8iSGrMWsXgchNJcrnarjbm github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -716,6 +825,8 @@ github.com/pointlander/jetset v1.0.0 h1:bNlaNAX7cDPID9SlcogmXlDWq0KcRJSpKwHXaAM3 github.com/pointlander/jetset v1.0.0/go.mod h1:zY6+WHRPB10uzTajloHtybSicLW1bf6Rz0eSaU9Deng= github.com/pointlander/peg v1.0.0 h1:rtCtA6Fu6xJpILX8WJfU+cvrcKmXgTfG/v+bkLP8NYY= github.com/pointlander/peg v1.0.0/go.mod h1:WJTMcgeWYr6fZz4CwHnY1oWZCXew8GWCF93FaAxPrh4= +github.com/polyfloyd/go-errorlint v0.0.0-20201006195004-351e25ade6e3 h1:Amgs0nbayPhBNGh1qPqqr2e7B2qNAcBgRjnBH/lmn8k= +github.com/polyfloyd/go-errorlint v0.0.0-20201006195004-351e25ade6e3/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prashantv/protectmem v0.0.0-20171002184600-e20412882b3a h1:AA9vgIBDjMHPC2McaGPojgV2dcI78ZC0TLNhYCXEKH8= github.com/prashantv/protectmem v0.0.0-20171002184600-e20412882b3a/go.mod h1:lzZQ3Noex5pfAy7mkAeCjcBDteYU85uWWnJ/y6gKU8k= @@ -748,6 +859,11 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx github.com/prometheus/prometheus v1.8.2-0.20200420081721-18254838fbe2 h1:JtWnHSHMC1h8mb6K5GsFzmhY/WMILsxQ4slsJu+lyg8= github.com/prometheus/prometheus v1.8.2-0.20200420081721-18254838fbe2/go.mod h1:ZnfuiMn3LNsry2q7ECmRe4WcscxmJSd2dIFpOi4w3lM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= +github.com/quasilyte/go-ruleguard v0.2.0 h1:UOVMyH2EKkxIfzrULvA9n/tO+HtEhqD9mrLSWMr5FwU= +github.com/quasilyte/go-ruleguard v0.2.0/go.mod h1:2RT/tf0Ce0UDj5y243iWKosQogJd8+1G3Rs2fxmlYnw= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/rakyll/statik v0.1.6 h1:uICcfUXpgqtw2VopbIncslhAmE5hwc4g20TEyEENBNs= github.com/rakyll/statik v0.1.6/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -761,6 +877,8 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= @@ -768,6 +886,10 @@ github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rveen/ogdl v0.0.0-20200522080342-eeeda1a978e7 h1:Lftq+hHvm0kPWM1sDNqx1jkXAo1zw2YceoFo1hdyj7I= github.com/rveen/ogdl v0.0.0-20200522080342-eeeda1a978e7/go.mod h1:9fqUB54wJS9u5TSXJZhRfTdh1lXVxTytDjed7t2cNdw= +github.com/ryancurrah/gomodguard v1.1.0 h1:DWbye9KyMgytn8uYpuHkwf0RHqAYO6Ay/D0TbCpPtVU= +github.com/ryancurrah/gomodguard v1.1.0/go.mod h1:4O8tr7hBODaGE6VIhfJDHcwzh5GUccKSJBU0UMXJFVM= +github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= +github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -778,13 +900,20 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUt github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seborama/govcr v2.2.1+incompatible h1:rELLpGxrv9ahY6zC5ruwNJtbNaSYsIC5VE9q7pI/+3I= github.com/seborama/govcr v2.2.1+incompatible/go.mod h1:EgcISudCCYDLzbiAImJ8i7kk4+wTA44Kp+j4S0LhASI= +github.com/securego/gosec/v2 v2.5.0 h1:kjfXLeKdk98gBe2+eYRFMpC4+mxmQQtbidpiiOQ69Qc= +github.com/securego/gosec/v2 v2.5.0/go.mod h1:L/CDXVntIff5ypVHIkqPXbtRpJiNCh6c6Amn68jXDjo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= +github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= github.com/shirou/gopsutil v2.17.13-0.20180801053943-8048a2e9c577+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v2.20.5+incompatible h1:tYH07UPoQt0OCQdgWWMgYHy3/a9bcxNpBIysykNIP7I= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= @@ -793,6 +922,7 @@ github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvH github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -804,7 +934,11 @@ github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9 github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= +github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= +github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= @@ -837,6 +971,8 @@ github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= +github.com/ssgreg/nlreturn/v2 v2.1.0 h1:6/s4Rc49L6Uo6RLjhWZGBpWWjfzk2yrf1nIW8m4wgVA= +github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -852,7 +988,13 @@ github.com/subosito/gotenv v1.2.1-0.20190917103637-de67a6614a4d h1:YN4gX82mT31qs github.com/subosito/gotenv v1.2.1-0.20190917103637-de67a6614a4d/go.mod h1:GVSeM7r0P1RI1gOKYyN9IuNkhMmQwKGsjVf3ulDrdzo= github.com/tcnksm/go-gitconfig v0.1.2 h1:iiDhRitByXAEyjgBqsKi9QU4o2TNtv9kPP3RgPgXBPw= github.com/tcnksm/go-gitconfig v0.1.2/go.mod h1:/8EhP4H7oJZdIPyT+/UIsG87kTzrzM4UsLGSItWYCpE= +github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2 h1:Xr9gkxfOP0KQWXKNqmwe8vEeSUiUj4Rlee9CMVX2ZUQ= +github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= +github.com/tetafro/godot v0.4.9 h1:dSOiuasshpevY73eeI3+zaqFnXSBKJ3mvxbyhh54VRo= +github.com/tetafro/godot v0.4.9/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e h1:RumXZ56IrCj4CL+g1b9OL/oH0QnsF976bC8xQFYUD5Q= +github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tj/assert v0.0.0-20171129193455-018094318fb0 h1:Rw8kxzWo1mr6FSaYXjQELRe88y2KdfynXdnK72rdjtA= @@ -863,6 +1005,10 @@ github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKw github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d h1:3EZyvNUMsGD1QA8cu0STNn1L7I77rvhf2IhOcHYQhSw= +github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d/go.mod h1:yiFB6fFoV7saXirUGfuK+cPtUh4NX/Hf5y2WC2lehu0= +github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa h1:RC4maTWLKKwb7p1cnoygsbKIgNlJqSYBeAFON3Ar8As= +github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/twmb/murmur3 v1.1.4 h1:NnlAxelwOgdQDmYuV0T/K+tpDQ/8wdsDVOGmvUqBOCw= github.com/twmb/murmur3 v1.1.4/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ= @@ -879,9 +1025,18 @@ github.com/uber/tchannel-go v1.14.0/go.mod h1:Rrgz1eL8kMjW/nEzZos0t+Heq0O4LhnUJV github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ulikunitz/xz v0.5.5 h1:pFrO0lVpTBXLpYw+pnLj6TbvHuyjXMfjGeCwSqCVwok= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= +github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= +github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= +github.com/ultraware/whitespace v0.0.4 h1:If7Va4cM03mpgrNH9k49/VOicWpGoG70XPBFFODYDsg= +github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/uudashr/gocognit v1.0.1 h1:MoG2fZ0b/Eo7NXoIwCVFLG5JED3qgQz5/NEE+rOsjPs= +github.com/uudashr/gocognit v1.0.1/go.mod h1:j44Ayx2KW4+oB6SWMv8KsmHzZrOInQav7D3cQMJ5JUM= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= +github.com/valyala/quicktemplate v1.6.3/go.mod h1:fwPzK2fHuYEODzJ9pkw0ipCPNHZ2tD5KW4lOuSdPKzY= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a h1:0R4NLDRDZX6JcmhJgXi5E4b8Wg84ihbmUKp/GvSPEzc= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/vmihailenco/msgpack v2.8.3+incompatible h1:76LCLwxS08gKHRpGA10PBxfWk72JfUH6mgzp2+URwYM= @@ -902,7 +1057,9 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= @@ -1011,6 +1168,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1042,15 +1201,21 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1064,20 +1229,37 @@ golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDq golang.org/x/tools v0.0.0-20190813034749-528a2984e271/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191104232314-dc038396d1f0/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191203134012-c197fd4bf371/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200305205014-bc073721adb6/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200321224714-0d839f3cf2ed/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200410194907-79a7a3126eef/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b h1:zSzQJAznWxAh9fZxiPy2FZo+ZZEYoYFYYDYdOrU7AaM= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200731060945-b5fad4ed8dd6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201007032633-0806396f153e/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201011145850-ed2f50202694/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 h1:2ntEwh02rqo2jSsrYmp4yKHHjh0CbXP3ZtSUetSB+q8= golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1216,6 +1398,14 @@ k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +mvdan.cc/gofumpt v0.0.0-20200802201014-ab5a8192947d h1:t8TAw9WgTLghti7RYkpPmqk4JtQ3+wcP5GgZqgWeWLQ= +mvdan.cc/gofumpt v0.0.0-20200802201014-ab5a8192947d/go.mod h1:bzrjFmaD6+xqohD3KYP0H2FEuxknnBmyyOxdhLdaIws= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= +mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7 h1:kAREL6MPwpsk1/PQPFD3Eg7WAQR5mPTWZJaBiG5LDbY= +mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7/go.mod h1:HGC5lll35J70Y5v7vCGb9oLhHoScFwkHDJm/05RdSTc= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= diff --git a/src/dbnode/server/server.go b/src/dbnode/server/server.go index 9cda43df69..526160cd79 100644 --- a/src/dbnode/server/server.go +++ b/src/dbnode/server/server.go @@ -440,6 +440,7 @@ func Run(runOpts RunOptions) { // FOLLOWUP(prateek): remove this once we have the runtime options<->index wiring done indexOpts := opts.IndexOptions() insertMode := index.InsertSync + if cfg.WriteNewSeriesAsyncOrDefault() { insertMode = index.InsertAsync } @@ -546,8 +547,8 @@ func Run(runOpts RunOptions) { if err != nil { logger.Fatal("could not get pooling policy", zap.Error(err)) } - opts = withEncodingAndPoolingOptions(cfg, logger, opts, poolingPolicy) + opts = withEncodingAndPoolingOptions(cfg, logger, opts, poolingPolicy) opts = opts.SetCommitLogOptions(opts.CommitLogOptions(). SetInstrumentOptions(opts.InstrumentOptions()). SetFilesystemOptions(fsopts). @@ -667,6 +668,7 @@ func Run(runOpts RunOptions) { if fn := runOpts.StorageOptions.TChanNodeServerFn; fn != nil { tchanOpts = tchanOpts.SetTChanNodeServerFn(fn) } + listenAddress := cfg.ListenAddressOrDefault() tchannelthriftNodeClose, err := ttnode.NewServer(service, listenAddress, contextPool, tchanOpts).ListenAndServe() From 496c7ce019f86956c4c05e71618c26e23cbf601b Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 16:48:03 -0500 Subject: [PATCH 11/41] lint removing exhaustivestruct --- .golangci.yml | 2 ++ src/cmd/services/m3dbnode/config/config.go | 34 +++------------------- src/cmd/services/m3query/config/config.go | 15 ++-------- 3 files changed, 9 insertions(+), 42 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 2d89b4ac65..9f5e34f7c7 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -209,6 +209,8 @@ linters: - nolintlint # Deprecated project due to being prone to bad suggestions. - interfacer + # Valid use for not explicitly setting every field when they are optional nil/empty. + - exhaustivestruct disable-all: false presets: # bodyclose, errcheck, gosec, govet, scopelint, staticcheck, typecheck diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 5a2b2fb88c..e0bdf2092b 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -53,26 +53,17 @@ const ( var ( defaultLogging = xlog.Configuration{ - Level: "info", - File: "", - Fields: nil, + Level: "info", } defaultMetricsSanitization = instrument.PrometheusMetricSanitization defaultMetricsExtendedMetricsType = instrument.DetailedExtendedMetrics defaultMetrics = instrument.MetricsConfiguration{ - RootScope: nil, PrometheusReporter: &instrument.PrometheusConfiguration{ - HandlerPath: "/metrics", - ListenAddress: "", - TimerType: "", - DefaultHistogramBuckets: nil, - DefaultSummaryObjectives: nil, - OnError: "", + HandlerPath: "/metrics", }, Sanitization: &defaultMetricsSanitization, SamplingRate: 1.0, ExtendedMetrics: &defaultMetricsExtendedMetricsType, - M3Reporter: nil, } defaultListenAddress = "0.0.0.0:9000" defaultClusterListenAddress = "0.0.0.0:9001" @@ -86,14 +77,10 @@ var ( defaultCache = CacheConfigurations{ Series: &SeriesCacheConfiguration{ Policy: series.DefaultCachePolicy, - LRU: nil, }, PostingsList: &PostingsListCacheConfiguration{ - Size: &defaultCachePostingsListSize, - CacheRegexp: nil, - CacheTerms: nil, + Size: &defaultCachePostingsListSize, }, - Regexp: nil, } defaultCommitLogPolicy = CommitLogPolicy{ FlushMaxBytes: 524288, @@ -102,23 +89,10 @@ var ( Size: 2097152, CalculationType: CalculationTypeFixed, }, - QueueChannel: nil, } defaultFilesystemPrefix = "/var/lib/m3db" defaultFilesystem = FilesystemConfiguration{ - FilePathPrefix: &defaultFilesystemPrefix, - WriteBufferSize: nil, - DataReadBufferSize: nil, - InfoReadBufferSize: nil, - SeekReadBufferSize: nil, - ThroughputLimitMbps: nil, - ThroughputCheckEvery: nil, - NewFileMode: nil, - NewDirectoryMode: nil, - Mmap: nil, - ForceIndexSummariesMmapMemory: nil, - ForceBloomFilterMmapMemory: nil, - BloomFilterFalsePositivePercent: nil, + FilePathPrefix: &defaultFilesystemPrefix, } ) diff --git a/src/cmd/services/m3query/config/config.go b/src/cmd/services/m3query/config/config.go index 2df25342b1..c6445dcadc 100644 --- a/src/cmd/services/m3query/config/config.go +++ b/src/cmd/services/m3query/config/config.go @@ -68,31 +68,22 @@ const ( var ( defaultLogging = xlog.Configuration{ - Level: "info", - File: "", - Fields: nil, + Level: "info", } defaultMetricsSanitization = instrument.PrometheusMetricSanitization defaultMetricsExtendedMetricsType = instrument.NoExtendedMetrics defaultMetrics = instrument.MetricsConfiguration{ RootScope: &instrument.ScopeConfiguration{ - Prefix: "coordinator", - ReportingInterval: 0, - CommonTags: nil, + Prefix: "coordinator", }, PrometheusReporter: &instrument.PrometheusConfiguration{ HandlerPath: "/metrics", // Default to coordinator (until https://github.com/m3db/m3/issues/682 is resolved) - ListenAddress: "0.0.0.0:7203", - TimerType: "", - DefaultHistogramBuckets: nil, - DefaultSummaryObjectives: nil, - OnError: "", + ListenAddress: "0.0.0.0:7203", }, Sanitization: &defaultMetricsSanitization, SamplingRate: 1.0, ExtendedMetrics: &defaultMetricsExtendedMetricsType, - M3Reporter: nil, } // 5m is the default lookback in Prometheus From 89dc079c926221a882fa39739e13fee5931cab3e Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 17:02:29 -0500 Subject: [PATCH 12/41] update writeNewSeriesLimitPerSecond to be under limits: --- config/m3db/clustered-etcd/generated.yaml | 1 - config/m3db/clustered-etcd/m3dbnode.libsonnet | 1 - config/m3db/local-etcd/generated.yaml | 1 - config/m3db/local-etcd/m3dbnode.libsonnet | 1 - kube/bundle.yaml | 1 - kube/m3dbnode-configmap.yaml | 1 - kube/terraform/main.tf | 2 +- scripts/development/m3_stack/m3dbnode.yml | 1 - .../dedicated_etcd_embedded_coordinator/m3dbnode.yml | 1 - .../multi_cluster_write/m3dbnode-cluster-a.yml | 1 - .../multi_cluster_write/m3dbnode-cluster-b.yml | 1 - scripts/docker-integration-tests/repair/m3dbnode.yml | 1 - .../repair_and_replication/m3dbnode-cluster-a.yml | 1 - .../repair_and_replication/m3dbnode-cluster-b.yml | 1 - .../replication/m3dbnode-cluster-a.yml | 1 - .../replication/m3dbnode-cluster-b.yml | 1 - .../availability_consistency_durability.md | 12 ++++++++---- src/cmd/services/m3dbnode/config/config_test.go | 3 +-- src/cmd/services/m3dbnode/main/main_index_test.go | 1 - src/cmd/services/m3dbnode/main/main_test.go | 1 - .../docker/harness/resources/config/m3dbnode.yml | 1 - src/dbnode/config/m3dbnode-all-config.yml | 2 -- src/dbnode/config/m3dbnode-cluster-template.yml | 1 - src/dbnode/config/m3dbnode-local-etcd-proto.yml | 1 - 24 files changed, 10 insertions(+), 29 deletions(-) diff --git a/config/m3db/clustered-etcd/generated.yaml b/config/m3db/clustered-etcd/generated.yaml index f62e7ada30..435fc03f50 100644 --- a/config/m3db/clustered-etcd/generated.yaml +++ b/config/m3db/clustered-etcd/generated.yaml @@ -73,4 +73,3 @@ "sanitization": "prometheus" "writeNewSeriesAsync": true "writeNewSeriesBackoffDuration": "2ms" - "writeNewSeriesLimitPerSecond": 1048576 diff --git a/config/m3db/clustered-etcd/m3dbnode.libsonnet b/config/m3db/clustered-etcd/m3dbnode.libsonnet index 50bb6fa1ed..39de162dd5 100644 --- a/config/m3db/clustered-etcd/m3dbnode.libsonnet +++ b/config/m3db/clustered-etcd/m3dbnode.libsonnet @@ -101,7 +101,6 @@ function(cluster, coordinator={}, db={}) { }, "gcPercentage": 100, "writeNewSeriesAsync": true, - "writeNewSeriesLimitPerSecond": 1048576, "writeNewSeriesBackoffDuration": "2ms", "cache": { "series": { diff --git a/config/m3db/local-etcd/generated.yaml b/config/m3db/local-etcd/generated.yaml index cc5b10c10c..d307c410a9 100644 --- a/config/m3db/local-etcd/generated.yaml +++ b/config/m3db/local-etcd/generated.yaml @@ -68,4 +68,3 @@ "sanitization": "prometheus" "writeNewSeriesAsync": true "writeNewSeriesBackoffDuration": "2ms" - "writeNewSeriesLimitPerSecond": 1048576 diff --git a/config/m3db/local-etcd/m3dbnode.libsonnet b/config/m3db/local-etcd/m3dbnode.libsonnet index fc6e5c5651..575733ba98 100644 --- a/config/m3db/local-etcd/m3dbnode.libsonnet +++ b/config/m3db/local-etcd/m3dbnode.libsonnet @@ -60,7 +60,6 @@ function(coordinator={}, db={}) { }, "gcPercentage": 100, "writeNewSeriesAsync": true, - "writeNewSeriesLimitPerSecond": 1048576, "writeNewSeriesBackoffDuration": "2ms", "cache": { "series": { diff --git a/kube/bundle.yaml b/kube/bundle.yaml index 8e99d0b72e..8449fcf925 100644 --- a/kube/bundle.yaml +++ b/kube/bundle.yaml @@ -163,7 +163,6 @@ data: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms commitlog: diff --git a/kube/m3dbnode-configmap.yaml b/kube/m3dbnode-configmap.yaml index f51032e5c9..6ccd3084e3 100644 --- a/kube/m3dbnode-configmap.yaml +++ b/kube/m3dbnode-configmap.yaml @@ -53,7 +53,6 @@ data: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms commitlog: diff --git a/kube/terraform/main.tf b/kube/terraform/main.tf index 675805edda..6391658abb 100755 --- a/kube/terraform/main.tf +++ b/kube/terraform/main.tf @@ -133,7 +133,7 @@ resource "kubernetes_config_map" "m3dbnode_config" { namespace = "m3db" } data { - m3dbnode.yml = "coordinator:\n listenAddress: \"0.0.0.0:7201\"\n local:\n namespaces:\n - namespace: default\n type: unaggregated\n retention: 48h\n metrics:\n scope:\n prefix: \"coordinator\"\n prometheus:\n handlerPath: /metrics\n listenAddress: 0.0.0.0:7203\n sanitization: prometheus\n samplingRate: 1.0\n extended: none\n tagOptions:\n idScheme: quoted\n\ndb:\n logging:\n level: info\n\n metrics:\n prometheus:\n handlerPath: /metrics\n sanitization: prometheus\n samplingRate: 1.0\n extended: detailed\n\n listenAddress: 0.0.0.0:9000\n clusterListenAddress: 0.0.0.0:9001\n httpNodeListenAddress: 0.0.0.0:9002\n httpClusterListenAddress: 0.0.0.0:9003\n debugListenAddress: 0.0.0.0:9004\n\n hostID:\n resolver: hostname\n\n client:\n writeConsistencyLevel: majority\n readConsistencyLevel: unstrict_majority\n\n gcPercentage: 100\n\n writeNewSeriesAsync: true\n writeNewSeriesLimitPerSecond: 1048576\n writeNewSeriesBackoffDuration: 2ms\n\n commitlog:\n flushMaxBytes: 524288\n flushEvery: 1s\n queue:\n calculationType: fixed\n size: 2097152\n\n filesystem:\n filePathPrefix: /var/lib/m3db\n\n config:\n service:\n env: default_env\n zone: embedded\n service: m3db\n cacheDir: /var/lib/m3kv\n etcdClusters:\n - zone: embedded\n endpoints:\n - http://etcd-0.etcd:2379\n - http://etcd-1.etcd:2379\n - http://etcd-2.etcd:2379\n" + m3dbnode.yml = "coordinator:\n listenAddress: \"0.0.0.0:7201\"\n local:\n namespaces:\n - namespace: default\n type: unaggregated\n retention: 48h\n metrics:\n scope:\n prefix: \"coordinator\"\n prometheus:\n handlerPath: /metrics\n listenAddress: 0.0.0.0:7203\n sanitization: prometheus\n samplingRate: 1.0\n extended: none\n tagOptions:\n idScheme: quoted\n\ndb:\n logging:\n level: info\n\n metrics:\n prometheus:\n handlerPath: /metrics\n sanitization: prometheus\n samplingRate: 1.0\n extended: detailed\n\n listenAddress: 0.0.0.0:9000\n clusterListenAddress: 0.0.0.0:9001\n httpNodeListenAddress: 0.0.0.0:9002\n httpClusterListenAddress: 0.0.0.0:9003\n debugListenAddress: 0.0.0.0:9004\n\n hostID:\n resolver: hostname\n\n client:\n writeConsistencyLevel: majority\n readConsistencyLevel: unstrict_majority\n\n gcPercentage: 100\n\n writeNewSeriesAsync: true\n writeNewSeriesBackoffDuration: 2ms\n\n commitlog:\n flushMaxBytes: 524288\n flushEvery: 1s\n queue:\n calculationType: fixed\n size: 2097152\n\n filesystem:\n filePathPrefix: /var/lib/m3db\n\n config:\n service:\n env: default_env\n zone: embedded\n service: m3db\n cacheDir: /var/lib/m3kv\n etcdClusters:\n - zone: embedded\n endpoints:\n - http://etcd-0.etcd:2379\n - http://etcd-1.etcd:2379\n - http://etcd-2.etcd:2379\n" } } diff --git a/scripts/development/m3_stack/m3dbnode.yml b/scripts/development/m3_stack/m3dbnode.yml index 4243c971c1..3c0de4c452 100644 --- a/scripts/development/m3_stack/m3dbnode.yml +++ b/scripts/development/m3_stack/m3dbnode.yml @@ -35,7 +35,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml b/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml index d94b0d3993..23e7bdf9eb 100644 --- a/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml +++ b/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml @@ -45,7 +45,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml index 5527f12830..124973365a 100644 --- a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml @@ -56,7 +56,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml index edbfcc298b..e1c13baba6 100644 --- a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml @@ -35,7 +35,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/scripts/docker-integration-tests/repair/m3dbnode.yml b/scripts/docker-integration-tests/repair/m3dbnode.yml index b6f5cb5436..eb307f1e81 100644 --- a/scripts/docker-integration-tests/repair/m3dbnode.yml +++ b/scripts/docker-integration-tests/repair/m3dbnode.yml @@ -35,7 +35,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml index 93dedab49d..f2403c8890 100644 --- a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml @@ -35,7 +35,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml index b2c5b2c650..bcdd21cb21 100644 --- a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml @@ -35,7 +35,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml index 9ba35ef331..e89976d488 100644 --- a/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml @@ -35,7 +35,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml index c3097f8df8..195497e169 100644 --- a/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml @@ -35,7 +35,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/site/content/docs/operational_guide/availability_consistency_durability.md b/site/content/docs/operational_guide/availability_consistency_durability.md index 873ed4c6aa..1f14ac16ee 100644 --- a/site/content/docs/operational_guide/availability_consistency_durability.md +++ b/site/content/docs/operational_guide/availability_consistency_durability.md @@ -57,10 +57,12 @@ This instructs M3DB to handle writes for new timeseries (for a given time block) However, since new time series are created asynchronously, it's possible that there may be a brief delay inbetween when a write is acknowledged by the client and when that series becomes available for subsequent reads. -M3DB also allows operators to rate limit the number of new series that can be created per second via the following configuration: +M3DB also allows operators to rate limit the number of new series that can be created per second via the following configuration under the `db.limits` section: ```yaml -writeNewSeriesLimitPerSecond: 1048576 +db: + limits: + writeNewSeriesPerSecond: 1048576 ``` This value can be set much lower than the default value for workloads in which a significant increase in cardinality usually indicates a misbehaving caller. @@ -105,10 +107,12 @@ writeNewSeriesAsync: false This instructs M3DB to handle writes for new timeseries (for a given time block) synchronously. Creating a new timeseries in memory is much more expensive than simply appending a new write to an existing series, so this configuration could have an adverse effect on performance when many new timeseries are being inserted into M3DB concurrently. -Since this operation is so expensive, M3DB allows operator to rate limit the number of new series that can be created per second via the following configuration (also a top-level key under the `db` section): +Since this operation is so expensive, M3DB allows operator to rate limit the number of new series that can be created per second via the following configuration (also a top-level key under the `db.limits` section): ```yaml -writeNewSeriesLimitPerSecond: 1048576 +db: + limits: + writeNewSeriesPerSecond: 1048576 ``` ### Ignoring Corrupt Commitlogs on Bootstrap diff --git a/src/cmd/services/m3dbnode/config/config_test.go b/src/cmd/services/m3dbnode/config/config_test.go index 10c82b710b..598bc35a3a 100644 --- a/src/cmd/services/m3dbnode/config/config_test.go +++ b/src/cmd/services/m3dbnode/config/config_test.go @@ -95,7 +95,6 @@ db: gcPercentage: 100 - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms bootstrap: @@ -409,7 +408,6 @@ func TestConfiguration(t *testing.T) { writeShardsInitializing: null shardsLeavingCountTowardsConsistency: null gcPercentage: 100 - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms tick: null bootstrap: @@ -719,6 +717,7 @@ func TestConfiguration(t *testing.T) { maxOutstandingReadRequests: 0 maxOutstandingRepairedBytes: 0 maxEncodersPerBlock: 0 + writeNewSeriesPerSecond: 0 wide: null tchannel: null debug: diff --git a/src/cmd/services/m3dbnode/main/main_index_test.go b/src/cmd/services/m3dbnode/main/main_index_test.go index a4cba46dbf..276c01bfde 100644 --- a/src/cmd/services/m3dbnode/main/main_index_test.go +++ b/src/cmd/services/m3dbnode/main/main_index_test.go @@ -347,7 +347,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: false - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms commitlog: diff --git a/src/cmd/services/m3dbnode/main/main_test.go b/src/cmd/services/m3dbnode/main/main_test.go index d8068c6e29..0bb417b2d7 100644 --- a/src/cmd/services/m3dbnode/main/main_test.go +++ b/src/cmd/services/m3dbnode/main/main_test.go @@ -503,7 +503,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms commitlog: diff --git a/src/cmd/tools/dtest/docker/harness/resources/config/m3dbnode.yml b/src/cmd/tools/dtest/docker/harness/resources/config/m3dbnode.yml index 1f9ab9fed6..193ec26aa4 100644 --- a/src/cmd/tools/dtest/docker/harness/resources/config/m3dbnode.yml +++ b/src/cmd/tools/dtest/docker/harness/resources/config/m3dbnode.yml @@ -52,7 +52,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/src/dbnode/config/m3dbnode-all-config.yml b/src/dbnode/config/m3dbnode-all-config.yml index 0849aa4cd9..51d08e4812 100644 --- a/src/dbnode/config/m3dbnode-all-config.yml +++ b/src/dbnode/config/m3dbnode-all-config.yml @@ -99,8 +99,6 @@ db: # Whether new series should be created asynchronously (recommended value # of true for high throughput.) writeNewSeriesAsync: true - # Maximum number of new series that can be created per second. - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms bootstrap: diff --git a/src/dbnode/config/m3dbnode-cluster-template.yml b/src/dbnode/config/m3dbnode-cluster-template.yml index d5cddf3c5a..fe4de58051 100644 --- a/src/dbnode/config/m3dbnode-cluster-template.yml +++ b/src/dbnode/config/m3dbnode-cluster-template.yml @@ -73,7 +73,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: diff --git a/src/dbnode/config/m3dbnode-local-etcd-proto.yml b/src/dbnode/config/m3dbnode-local-etcd-proto.yml index 0d34b5f53a..e76bb65f0e 100644 --- a/src/dbnode/config/m3dbnode-local-etcd-proto.yml +++ b/src/dbnode/config/m3dbnode-local-etcd-proto.yml @@ -52,7 +52,6 @@ db: gcPercentage: 100 writeNewSeriesAsync: true - writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms cache: From 4394e2762a0bade6312ad1b5aa3797581dd093c2 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 18:21:39 -0500 Subject: [PATCH 13/41] discovery environment config --- src/dbnode/discovery/config.go | 247 ++++++++++++++++++++++++++++ src/dbnode/discovery/config_test.go | 201 ++++++++++++++++++++++ 2 files changed, 448 insertions(+) create mode 100644 src/dbnode/discovery/config.go create mode 100644 src/dbnode/discovery/config_test.go diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go new file mode 100644 index 0000000000..1a37d73214 --- /dev/null +++ b/src/dbnode/discovery/config.go @@ -0,0 +1,247 @@ +// Copyright (c) 2017 Uber Technologies, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +package environment + +import ( + "errors" + "fmt" + + etcdclient "github.com/m3db/m3/src/cluster/client/etcd" + "github.com/m3db/m3/src/dbnode/environment" + "github.com/m3db/m3/src/x/config/hostid" +) + +const ( + defaultEnvironment = "default_env" + defaultZone = "embedded" + defaultM3DBService = "m3db" + defaultM3AggregatorService = "m3aggregator" + defaultCacheDirectory = "/var/lib/m3kv" + defaultSingleNodeClusterEndpoint = "127.0.0.1:2379" + defaultSingleNodeClusterSeedEndpoint = "127.0.0.1:2380" + + defaultDiscoveryConfigType = ConfigType +) + +var validDiscoveryConfigTypes = []DiscoveryConfigurationType{ + ConfigType, + M3DBSingleNodeType, + M3DBClusterType, + M3AggregatorClusterType, +} + +// DiscoveryConfigurationType defines the type of discovery configuration. +type DiscoveryConfigurationType uint + +const ( + // ConfigType defines a generic definition for service discovery via etcd. + ConfigType DiscoveryConfigurationType = iota + // M3DBSingleNodeType defines configuration for a single M3DB node via etcd. + M3DBSingleNodeType + // M3DBClusterType defines M3DB discovery via etcd. + M3DBClusterType + // M3AggregatorClusterType defines M3DB discovery via etcd. + M3AggregatorClusterType +) + +// UnmarshalYAML unmarshals an DiscoveryConfigurationType into a valid type from string. +func (t *DiscoveryConfigurationType) UnmarshalYAML(unmarshal func(interface{}) error) error { + var str string + if err := unmarshal(&str); err != nil { + return err + } + + // If unspecified, use default mode. + if str == "" { + *t = defaultDiscoveryConfigType + return nil + } + + for _, valid := range validDiscoveryConfigTypes { + if str == valid.String() { + *t = valid + return nil + } + } + return fmt.Errorf("invalid DiscoveryConfigurationType '%s' valid types are: %s", + str, validDiscoveryConfigTypes) +} + +// String returns the discovery configuration type as a string. +func (t DiscoveryConfigurationType) String() string { + switch t { + case ConfigType: + return "config" + case M3DBSingleNodeType: + return "m3db_single_node" + case M3DBClusterType: + return "m3db_cluster" + case M3AggregatorClusterType: + return "m3aggregator_cluster" + } + return "unknown" +} + +// Configuration defines how services are to be discovered. +type Configuration struct { + // Type defines the type of discovery configuration being used. + Type DiscoveryConfigurationType `yaml:"type"` + + // M3DBCluster defines M3DB discovery via etcd. + M3DBCluster *M3DBClusterDiscoveryConfiguration `yaml:"m3dbCluster"` + + // M3AggregatorCluster defines M3Aggregator discovery via etcd. + M3AggregatorCluster *M3AggregatorClusterDiscoveryConfiguration `yaml:"m3AggregatorCluster"` + + // Config defines a generic definition for service discovery via etcd. + Config *environment.Configuration `yaml:"config"` +} + +// M3DBClusterDiscoveryConfiguration defines discovery configuration for M3DB. +type M3DBClusterDiscoveryConfiguration struct { + Env string `yaml:"env" validate:"nonzero"` + Zone *string `yaml:"zone"` + Endpoints []string `yaml:"endpoints"` +} + +// M3AggregatorClusterDiscoveryConfiguration defines discovery configuration for M3Aggregator. +type M3AggregatorClusterDiscoveryConfiguration struct { + Env string `yaml:"env"` + Zone *string `yaml:"zone"` + Endpoints []string `yaml:"endpoints"` +} + +// EnvironmentConfiguration provides the environment configuration +// based on the type of discovery configuration set. +func (c *Configuration) EnvironmentConfiguration( + hostID hostid.Configuration, +) (environment.Configuration, error) { + switch c.Type { + case ConfigType: + return *c.Config, nil + case M3DBSingleNodeType: + return c.m3dbSingleNodeEnvConfig(hostID) + case M3DBClusterType: + return c.M3DBCluster.envConfig() + case M3AggregatorClusterType: + return c.M3AggregatorCluster.envConfig() + } + + return environment.Configuration{}, fmt.Errorf("unrecognized discovery type: %d", c.Type) +} + +func (c *Configuration) m3dbSingleNodeEnvConfig( + hostID hostid.Configuration, +) (environment.Configuration, error) { + resolvedHostID, err := hostID.Resolve() + if err != nil { + return environment.Configuration{}, err + } + return environment.Configuration{ + Services: []*environment.DynamicCluster{ + { + Service: &etcdclient.Configuration{ + Service: defaultM3DBService, + CacheDir: defaultCacheDirectory, + Zone: defaultZone, + Env: defaultEnvironment, + ETCDClusters: []etcdclient.ClusterConfig{ + etcdclient.ClusterConfig{ + Zone: defaultZone, + Endpoints: []string{defaultSingleNodeClusterEndpoint}, + }, + }, + }, + }, + }, + SeedNodes: &environment.SeedNodesConfig{ + InitialCluster: []environment.SeedNode{ + { + HostID: resolvedHostID, + Endpoint: defaultSingleNodeClusterSeedEndpoint, + }, + }, + }, + }, nil +} + +func (c *M3DBClusterDiscoveryConfiguration) envConfig() (environment.Configuration, error) { + if c == nil { + return environment.Configuration{}, + errors.New("discovery type specified required m3dbCluster section") + } + + zone := defaultZone + if c.Zone != nil { + zone = *c.Zone + } + + return environment.Configuration{ + Services: []*environment.DynamicCluster{ + { + Service: &etcdclient.Configuration{ + Service: defaultM3DBService, + CacheDir: defaultCacheDirectory, + Zone: zone, + Env: c.Env, + ETCDClusters: []etcdclient.ClusterConfig{ + etcdclient.ClusterConfig{ + Zone: zone, + Endpoints: c.Endpoints, + }, + }, + }, + }, + }, + }, nil +} + +func (c *M3AggregatorClusterDiscoveryConfiguration) envConfig() ( + environment.Configuration, error) { + if c == nil { + return environment.Configuration{}, + errors.New("discovery type specified required m3AggregatorCluster section") + } + + zone := defaultZone + if c.Zone != nil { + zone = *c.Zone + } + + return environment.Configuration{ + Services: []*environment.DynamicCluster{ + { + Service: &etcdclient.Configuration{ + Service: defaultM3AggregatorService, + CacheDir: defaultCacheDirectory, + Zone: zone, + Env: c.Env, + ETCDClusters: []etcdclient.ClusterConfig{ + etcdclient.ClusterConfig{ + Zone: zone, + Endpoints: c.Endpoints, + }, + }, + }, + }, + }, + }, nil +} diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go new file mode 100644 index 0000000000..ee6cd87ace --- /dev/null +++ b/src/dbnode/discovery/config_test.go @@ -0,0 +1,201 @@ +// Copyright (c) 2018 Uber Technologies, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +package environment + +import ( + "testing" + "time" + + etcdclient "github.com/m3db/m3/src/cluster/client/etcd" + "github.com/m3db/m3/src/cluster/services" + "github.com/m3db/m3/src/dbnode/namespace" + "github.com/m3db/m3/src/dbnode/retention" + "github.com/m3db/m3/src/dbnode/topology" + "github.com/m3db/m3/src/x/instrument" + + "github.com/stretchr/testify/assert" + "gopkg.in/yaml.v2" +) + +var initTimeout = time.Minute + +func TestConfigureStatic(t *testing.T) { + config := Configuration{ + Statics: StaticConfiguration{ + &StaticCluster{ + Namespaces: []namespace.MetadataConfiguration{ + namespace.MetadataConfiguration{ + ID: "metrics", + Retention: retention.Configuration{ + RetentionPeriod: 24 * time.Hour, + BlockSize: time.Hour, + }, + }, + namespace.MetadataConfiguration{ + ID: "other-metrics", + Retention: retention.Configuration{ + RetentionPeriod: 24 * time.Hour, + BlockSize: time.Hour, + }, + }, + }, + TopologyConfig: &topology.StaticConfiguration{ + Shards: 2, + Hosts: []topology.HostShardConfig{ + topology.HostShardConfig{ + HostID: "localhost", + ListenAddress: "0.0.0.0:1234", + }, + }, + }, + ListenAddress: "0.0.0.0:9000", + }, + }, + } + + configRes, err := config.Configure(ConfigurationParameters{}) + assert.NotNil(t, configRes) + assert.NoError(t, err) +} + +func TestConfigureDynamic(t *testing.T) { + config := Configuration{ + Services: DynamicConfiguration{ + &DynamicCluster{ + Service: &etcdclient.Configuration{ + Zone: "local", + Env: "test", + Service: "m3dbnode_test", + CacheDir: "/", + ETCDClusters: []etcdclient.ClusterConfig{ + etcdclient.ClusterConfig{ + Zone: "local", + Endpoints: []string{"localhost:1111"}, + }, + }, + SDConfig: services.Configuration{ + InitTimeout: &initTimeout, + }, + }, + }, + }, + } + + cfgParams := ConfigurationParameters{ + InstrumentOpts: instrument.NewOptions(), + } + + configRes, err := config.Configure(cfgParams) + assert.NotNil(t, configRes) + assert.NoError(t, err) +} + +func TestUnmarshalDynamicSingle(t *testing.T) { + in := ` +service: + zone: dca8 + env: test +` + + var cfg Configuration + err := yaml.Unmarshal([]byte(in), &cfg) + assert.NoError(t, err) + assert.NoError(t, cfg.Validate()) + assert.Len(t, cfg.Services, 1) +} + +func TestUnmarshalDynamicList(t *testing.T) { + in := ` +services: + - service: + zone: dca8 + env: test + - service: + zone: phx3 + env: test + async: true +` + + var cfg Configuration + err := yaml.Unmarshal([]byte(in), &cfg) + assert.NoError(t, err) + assert.NoError(t, cfg.Validate()) + assert.Len(t, cfg.Services, 2) +} + +var configValidationTests = []struct { + name string + in string + expectErr error +}{ + { + name: "empty config", + in: ``, + expectErr: errInvalidConfig, + }, + { + name: "static and dynamic", + in: ` +services: + - service: + zone: dca8 + env: test +statics: + - listenAddress: 0.0.0.0:9000`, + expectErr: errInvalidConfig, + }, + { + name: "invalid dynamic config", + in: ` +services: + - async: true`, + expectErr: errInvalidSyncCount, + }, + { + name: "invalid static config", + in: ` +statics: + - async: true`, + expectErr: errInvalidSyncCount, + }, + { + name: "valid config", + in: ` +services: + - service: + zone: dca8 + env: test + - service: + zone: phx3 + env: test + async: true`, + expectErr: nil, + }, +} + +func TestConfigValidation(t *testing.T) { + for _, tt := range configValidationTests { + var cfg Configuration + err := yaml.Unmarshal([]byte(tt.in), &cfg) + assert.NoError(t, err) + assert.Equal(t, tt.expectErr, cfg.Validate()) + } +} From 3bf7aa11215203a6368db2db334cea60c1932e4d Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 19:00:29 -0500 Subject: [PATCH 14/41] tests for discovery config --- src/dbnode/discovery/config.go | 9 +- src/dbnode/discovery/config_test.go | 323 +++++++++++++++------------- 2 files changed, 183 insertions(+), 149 deletions(-) diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index 1a37d73214..4b19eb4e59 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -103,7 +103,7 @@ func (t DiscoveryConfigurationType) String() string { // Configuration defines how services are to be discovered. type Configuration struct { // Type defines the type of discovery configuration being used. - Type DiscoveryConfigurationType `yaml:"type"` + Type *DiscoveryConfigurationType `yaml:"type"` // M3DBCluster defines M3DB discovery via etcd. M3DBCluster *M3DBClusterDiscoveryConfiguration `yaml:"m3dbCluster"` @@ -134,7 +134,12 @@ type M3AggregatorClusterDiscoveryConfiguration struct { func (c *Configuration) EnvironmentConfiguration( hostID hostid.Configuration, ) (environment.Configuration, error) { - switch c.Type { + discoveryConfigType := defaultDiscoveryConfigType + if c.Type != nil { + discoveryConfigType = *c.Type + } + + switch discoveryConfigType { case ConfigType: return *c.Config, nil case M3DBSingleNodeType: diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go index ee6cd87ace..75c929f6d4 100644 --- a/src/dbnode/discovery/config_test.go +++ b/src/dbnode/discovery/config_test.go @@ -21,181 +21,210 @@ package environment import ( + "io/ioutil" + "os" "testing" - "time" - - etcdclient "github.com/m3db/m3/src/cluster/client/etcd" - "github.com/m3db/m3/src/cluster/services" - "github.com/m3db/m3/src/dbnode/namespace" - "github.com/m3db/m3/src/dbnode/retention" - "github.com/m3db/m3/src/dbnode/topology" - "github.com/m3db/m3/src/x/instrument" + xconfig "github.com/m3db/m3/src/x/config" + "github.com/m3db/m3/src/x/config/hostid" "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v2" ) -var initTimeout = time.Minute - -func TestConfigureStatic(t *testing.T) { - config := Configuration{ - Statics: StaticConfiguration{ - &StaticCluster{ - Namespaces: []namespace.MetadataConfiguration{ - namespace.MetadataConfiguration{ - ID: "metrics", - Retention: retention.Configuration{ - RetentionPeriod: 24 * time.Hour, - BlockSize: time.Hour, - }, - }, - namespace.MetadataConfiguration{ - ID: "other-metrics", - Retention: retention.Configuration{ - RetentionPeriod: 24 * time.Hour, - BlockSize: time.Hour, - }, - }, - }, - TopologyConfig: &topology.StaticConfiguration{ - Shards: 2, - Hosts: []topology.HostShardConfig{ - topology.HostShardConfig{ - HostID: "localhost", - ListenAddress: "0.0.0.0:1234", - }, - }, - }, - ListenAddress: "0.0.0.0:9000", - }, - }, +func TestM3DBSingleNodeType(t *testing.T) { + in := ` +type: m3db_single_node +` + + id := "test_id" + hostID := hostid.Configuration{ + Resolver: hostid.ConfigResolver, + Value: &id, } - configRes, err := config.Configure(ConfigurationParameters{}) - assert.NotNil(t, configRes) + fd, err := ioutil.TempFile("", "config.yaml") assert.NoError(t, err) -} + defer func() { + assert.NoError(t, fd.Close()) + assert.NoError(t, os.Remove(fd.Name())) + }() -func TestConfigureDynamic(t *testing.T) { - config := Configuration{ - Services: DynamicConfiguration{ - &DynamicCluster{ - Service: &etcdclient.Configuration{ - Zone: "local", - Env: "test", - Service: "m3dbnode_test", - CacheDir: "/", - ETCDClusters: []etcdclient.ClusterConfig{ - etcdclient.ClusterConfig{ - Zone: "local", - Endpoints: []string{"localhost:1111"}, - }, - }, - SDConfig: services.Configuration{ - InitTimeout: &initTimeout, - }, - }, - }, - }, - } + _, err = fd.Write([]byte(in)) + assert.NoError(t, err) - cfgParams := ConfigurationParameters{ - InstrumentOpts: instrument.NewOptions(), - } + var cfg Configuration + err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) + assert.NoError(t, err) - configRes, err := config.Configure(cfgParams) - assert.NotNil(t, configRes) + envConfig, err := cfg.EnvironmentConfiguration(hostID) assert.NoError(t, err) + assert.Equal(t, 1, len(envConfig.Services)) + assert.Equal(t, 1, len(envConfig.SeedNodes.InitialCluster)) + + s := envConfig.Services[0].Service + assert.Equal(t, defaultM3DBService, s.Service) + assert.Equal(t, defaultEnvironment, s.Env) + assert.Equal(t, defaultZone, s.Zone) + assert.Equal(t, defaultCacheDirectory, s.CacheDir) + assert.Equal(t, 1, len(s.ETCDClusters)) + assert.Equal(t, defaultZone, s.ETCDClusters[0].Zone) + assert.Equal(t, 1, len(s.ETCDClusters[0].Endpoints)) + assert.Equal(t, defaultSingleNodeClusterEndpoint, s.ETCDClusters[0].Endpoints[0]) + + c := envConfig.SeedNodes.InitialCluster[0] + assert.Equal(t, defaultSingleNodeClusterSeedEndpoint, c.Endpoint) + assert.Equal(t, id, c.HostID) } -func TestUnmarshalDynamicSingle(t *testing.T) { +func TestM3DBClusterType(t *testing.T) { in := ` -service: - zone: dca8 - env: test +type: m3db_cluster +m3dbCluster: + env: a + zone: b + endpoints: + - end_1 + - end_2 ` + id := "test_id" + hostID := hostid.Configuration{ + Resolver: hostid.ConfigResolver, + Value: &id, + } + + fd, err := ioutil.TempFile("", "config.yaml") + assert.NoError(t, err) + defer func() { + assert.NoError(t, fd.Close()) + assert.NoError(t, os.Remove(fd.Name())) + }() + + _, err = fd.Write([]byte(in)) + assert.NoError(t, err) + var cfg Configuration - err := yaml.Unmarshal([]byte(in), &cfg) + err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) + assert.NoError(t, err) + + envConfig, err := cfg.EnvironmentConfiguration(hostID) assert.NoError(t, err) - assert.NoError(t, cfg.Validate()) - assert.Len(t, cfg.Services, 1) + assert.Equal(t, 1, len(envConfig.Services)) + assert.Nil(t, envConfig.SeedNodes) + + s := envConfig.Services[0].Service + assert.Equal(t, defaultM3DBService, s.Service) + assert.Equal(t, "a", s.Env) + assert.Equal(t, "b", s.Zone) + assert.Equal(t, defaultCacheDirectory, s.CacheDir) + assert.Equal(t, 1, len(s.ETCDClusters)) + assert.Equal(t, "b", s.ETCDClusters[0].Zone) + assert.Equal(t, 2, len(s.ETCDClusters[0].Endpoints)) + assert.Equal(t, "end_1", s.ETCDClusters[0].Endpoints[0]) + assert.Equal(t, "end_2", s.ETCDClusters[0].Endpoints[1]) } -func TestUnmarshalDynamicList(t *testing.T) { +func TestM3AggregatorClusterType(t *testing.T) { in := ` -services: - - service: - zone: dca8 - env: test - - service: - zone: phx3 - env: test - async: true +type: m3aggregator_cluster +m3AggregatorCluster: + env: a + zone: b + endpoints: + - end_1 + - end_2 ` + id := "test_id" + hostID := hostid.Configuration{ + Resolver: hostid.ConfigResolver, + Value: &id, + } + + fd, err := ioutil.TempFile("", "config.yaml") + assert.NoError(t, err) + defer func() { + assert.NoError(t, fd.Close()) + assert.NoError(t, os.Remove(fd.Name())) + }() + + _, err = fd.Write([]byte(in)) + assert.NoError(t, err) + var cfg Configuration - err := yaml.Unmarshal([]byte(in), &cfg) + err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) assert.NoError(t, err) - assert.NoError(t, cfg.Validate()) - assert.Len(t, cfg.Services, 2) -} -var configValidationTests = []struct { - name string - in string - expectErr error -}{ - { - name: "empty config", - in: ``, - expectErr: errInvalidConfig, - }, - { - name: "static and dynamic", - in: ` -services: - - service: - zone: dca8 - env: test -statics: - - listenAddress: 0.0.0.0:9000`, - expectErr: errInvalidConfig, - }, - { - name: "invalid dynamic config", - in: ` -services: - - async: true`, - expectErr: errInvalidSyncCount, - }, - { - name: "invalid static config", - in: ` -statics: - - async: true`, - expectErr: errInvalidSyncCount, - }, - { - name: "valid config", - in: ` -services: - - service: - zone: dca8 - env: test - - service: - zone: phx3 - env: test - async: true`, - expectErr: nil, - }, + envConfig, err := cfg.EnvironmentConfiguration(hostID) + assert.NoError(t, err) + assert.Equal(t, 1, len(envConfig.Services)) + assert.Nil(t, envConfig.SeedNodes) + + s := envConfig.Services[0].Service + assert.Equal(t, defaultM3AggregatorService, s.Service) + assert.Equal(t, "a", s.Env) + assert.Equal(t, "b", s.Zone) + assert.Equal(t, defaultCacheDirectory, s.CacheDir) + assert.Equal(t, 1, len(s.ETCDClusters)) + assert.Equal(t, "b", s.ETCDClusters[0].Zone) + assert.Equal(t, 2, len(s.ETCDClusters[0].Endpoints)) + assert.Equal(t, "end_1", s.ETCDClusters[0].Endpoints[0]) + assert.Equal(t, "end_2", s.ETCDClusters[0].Endpoints[1]) } -func TestConfigValidation(t *testing.T) { - for _, tt := range configValidationTests { - var cfg Configuration - err := yaml.Unmarshal([]byte(tt.in), &cfg) - assert.NoError(t, err) - assert.Equal(t, tt.expectErr, cfg.Validate()) +func TestConfigType(t *testing.T) { + in := ` +config: + service: + env: test_env + zone: test_zone + service: test_service + cacheDir: test/cache + etcdClusters: + - zone: test_zone_2 + endpoints: + - 127.0.0.1:2379 + seedNodes: + initialCluster: + - hostID: host_id + endpoint: http://127.0.0.1:2380 +` + + id := "test_id" + hostID := hostid.Configuration{ + Resolver: hostid.ConfigResolver, + Value: &id, } + + fd, err := ioutil.TempFile("", "config.yaml") + assert.NoError(t, err) + defer func() { + assert.NoError(t, fd.Close()) + assert.NoError(t, os.Remove(fd.Name())) + }() + + _, err = fd.Write([]byte(in)) + assert.NoError(t, err) + + var cfg Configuration + err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) + assert.NoError(t, err) + + envConfig, err := cfg.EnvironmentConfiguration(hostID) + assert.NoError(t, err) + assert.Equal(t, 1, len(envConfig.Services)) + assert.Equal(t, 1, len(envConfig.SeedNodes.InitialCluster)) + + s := envConfig.Services[0].Service + assert.Equal(t, "test_service", s.Service) + assert.Equal(t, "test_env", s.Env) + assert.Equal(t, "test_zone", s.Zone) + assert.Equal(t, "test/cache", s.CacheDir) + assert.Equal(t, 1, len(s.ETCDClusters)) + assert.Equal(t, "test_zone_2", s.ETCDClusters[0].Zone) + assert.Equal(t, 1, len(s.ETCDClusters[0].Endpoints)) + assert.Equal(t, "127.0.0.1:2379", s.ETCDClusters[0].Endpoints[0]) + + c := envConfig.SeedNodes.InitialCluster[0] + assert.Equal(t, "http://127.0.0.1:2380", c.Endpoint) + assert.Equal(t, "host_id", c.HostID) } From b54de4095193c41a5466cff0cb9fcf02c399fcab Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 19:12:56 -0500 Subject: [PATCH 15/41] update configs w/ new discovery format --- kube/bundle.yaml | 25 +-- kube/m3dbnode-configmap.yaml | 25 +-- scripts/development/m3_stack/m3dbnode.yml | 29 +-- .../m3dbnode.yml | 21 +- .../m3dbnode-cluster-a.yml | 29 +-- .../m3dbnode-cluster-b.yml | 29 +-- .../repair/m3dbnode.yml | 29 +-- .../m3dbnode-cluster-a.yml | 29 +-- .../m3dbnode-cluster-b.yml | 29 +-- .../replication/m3dbnode-cluster-a.yml | 29 +-- .../replication/m3dbnode-cluster-b.yml | 29 +-- src/cmd/services/m3dbnode/config/config.go | 5 +- .../services/m3dbnode/config/config_test.go | 182 +++++++++--------- .../services/m3dbnode/main/main_index_test.go | 19 +- src/cmd/services/m3dbnode/main/main_test.go | 47 ++--- .../harness/resources/config/m3dbnode.yml | 31 +-- src/dbnode/config/m3dbnode-all-config.yml | 41 ++-- .../config/m3dbnode-local-etcd-proto.yml | 29 +-- src/dbnode/config/m3dbnode-local-etcd.yml | 16 +- src/dbnode/discovery/config.go | 2 +- src/dbnode/discovery/config_test.go | 2 +- 21 files changed, 342 insertions(+), 335 deletions(-) diff --git a/kube/bundle.yaml b/kube/bundle.yaml index 8e99d0b72e..697b093742 100644 --- a/kube/bundle.yaml +++ b/kube/bundle.yaml @@ -176,18 +176,19 @@ data: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - http://etcd-0.etcd:2379 - - http://etcd-1.etcd:2379 - - http://etcd-2.etcd:2379 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - http://etcd-0.etcd:2379 + - http://etcd-1.etcd:2379 + - http://etcd-2.etcd:2379 --- # Headless service for the statefulset apiVersion: v1 diff --git a/kube/m3dbnode-configmap.yaml b/kube/m3dbnode-configmap.yaml index f51032e5c9..dcad9d8ea7 100644 --- a/kube/m3dbnode-configmap.yaml +++ b/kube/m3dbnode-configmap.yaml @@ -66,15 +66,16 @@ data: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - http://etcd-0.etcd:2379 - - http://etcd-1.etcd:2379 - - http://etcd-2.etcd:2379 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - http://etcd-0.etcd:2379 + - http://etcd-1.etcd:2379 + - http://etcd-2.etcd:2379 diff --git a/scripts/development/m3_stack/m3dbnode.yml b/scripts/development/m3_stack/m3dbnode.yml index 4243c971c1..4c83c46a2d 100644 --- a/scripts/development/m3_stack/m3dbnode.yml +++ b/scripts/development/m3_stack/m3dbnode.yml @@ -54,20 +54,21 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - m3db_seed:2379 - seedNodes: - initialCluster: - - hostID: m3db_seed - endpoint: http://m3db_seed:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - m3db_seed:2379 + seedNodes: + initialCluster: + - hostID: m3db_seed + endpoint: http://m3db_seed:2380 # proto: # schemaFilePath: /etc/m3dbnode/schema.proto diff --git a/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml b/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml index d94b0d3993..03b5cf96d6 100644 --- a/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml +++ b/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml @@ -62,13 +62,14 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: foo-namespace/foo-cluster - zone: bar-zone - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: bar-zone - endpoints: - - etcd01:2379 + discovery: + config: + service: + env: foo-namespace/foo-cluster + zone: bar-zone + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: bar-zone + endpoints: + - etcd01:2379 diff --git a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml index 5527f12830..31241267fd 100644 --- a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml @@ -75,17 +75,18 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_a_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_a_m3db_local_1 - endpoint: http://cluster_a_dbnode01:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_a_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_a_m3db_local_1 + endpoint: http://cluster_a_dbnode01:2380 diff --git a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml index edbfcc298b..4962385286 100644 --- a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml @@ -54,17 +54,18 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_b_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_b_m3db_local_1 - endpoint: http://cluster_b_dbnode01:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_b_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_b_m3db_local_1 + endpoint: http://cluster_b_dbnode01:2380 diff --git a/scripts/docker-integration-tests/repair/m3dbnode.yml b/scripts/docker-integration-tests/repair/m3dbnode.yml index b6f5cb5436..5f08f842dd 100644 --- a/scripts/docker-integration-tests/repair/m3dbnode.yml +++ b/scripts/docker-integration-tests/repair/m3dbnode.yml @@ -54,20 +54,21 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - dbnode01:2379 - seedNodes: - initialCluster: - - hostID: m3db_local_1 - endpoint: http://dbnode01:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - dbnode01:2379 + seedNodes: + initialCluster: + - hostID: m3db_local_1 + endpoint: http://dbnode01:2380 # Enable repairs. repair: diff --git a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml index 93dedab49d..1f23e7f556 100644 --- a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml @@ -54,20 +54,21 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_a_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_a_m3db_local_1 - endpoint: http://cluster_a_dbnode01:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_a_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_a_m3db_local_1 + endpoint: http://cluster_a_dbnode01:2380 # Enable repairs (within cluster a). repair: diff --git a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml index b2c5b2c650..e52ec9e4c4 100644 --- a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml @@ -54,20 +54,21 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_b_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_b_m3db_local_1 - endpoint: http://cluster_b_dbnode01:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_b_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_b_m3db_local_1 + endpoint: http://cluster_b_dbnode01:2380 # Enable repairs (within cluster b). repair: diff --git a/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml index 9ba35ef331..c79086f69c 100644 --- a/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml @@ -54,20 +54,21 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_a_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_a_m3db_local_1 - endpoint: http://cluster_a_dbnode01:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_a_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_a_m3db_local_1 + endpoint: http://cluster_a_dbnode01:2380 # Disable repairs (within cluster a). repair: diff --git a/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml index c3097f8df8..ae990a6602 100644 --- a/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml @@ -54,20 +54,21 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_b_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_b_m3db_local_1 - endpoint: http://cluster_b_dbnode01:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_b_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_b_m3db_local_1 + endpoint: http://cluster_b_dbnode01:2380 # Disable repairs (within cluster b). repair: diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index e0ebed20da..3d97247294 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -31,6 +31,7 @@ import ( coordinatorcfg "github.com/m3db/m3/src/cmd/services/m3query/config" "github.com/m3db/m3/src/dbnode/client" + "github.com/m3db/m3/src/dbnode/discovery" "github.com/m3db/m3/src/dbnode/environment" "github.com/m3db/m3/src/dbnode/storage/series" "github.com/m3db/m3/src/x/config/hostid" @@ -140,8 +141,8 @@ type DBConfiguration struct { // The pooling policy. PoolingPolicy PoolingPolicy `yaml:"pooling"` - // The environment (static or dynamic) configuration. - EnvironmentConfig environment.Configuration `yaml:"config"` + // The discovery configuration. + DiscoveryConfig discovery.Configuration `yaml:"discovery"` // The configuration for hashing Hashing HashingConfiguration `yaml:"hashing"` diff --git a/src/cmd/services/m3dbnode/config/config_test.go b/src/cmd/services/m3dbnode/config/config_test.go index 10c82b710b..38dc2fbf09 100644 --- a/src/cmd/services/m3dbnode/config/config_test.go +++ b/src/cmd/services/m3dbnode/config/config_test.go @@ -277,37 +277,38 @@ db: lowWatermark: 0.01 highWatermark: 0.02 - config: - service: - env: production - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - 1.1.1.1:2379 - - 1.1.1.2:2379 - - 1.1.1.3:2379 - - seedNodes: - listenPeerUrls: - - http://0.0.0.0:2380 - listenClientUrls: - - http://0.0.0.0:2379 - rootDir: /var/lib/etcd - initialAdvertisePeerUrls: - - http://1.1.1.1:2380 - advertiseClientUrls: - - http://1.1.1.1:2379 - initialCluster: - - hostID: host1 - endpoint: http://1.1.1.1:2380 - clusterState: existing - - hostID: host2 - endpoint: http://1.1.1.2:2380 - - hostID: host3 - endpoint: http://1.1.1.3:2380 + discovery: + config: + service: + env: production + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - 1.1.1.1:2379 + - 1.1.1.2:2379 + - 1.1.1.3:2379 + + seedNodes: + listenPeerUrls: + - http://0.0.0.0:2380 + listenClientUrls: + - http://0.0.0.0:2379 + rootDir: /var/lib/etcd + initialAdvertisePeerUrls: + - http://1.1.1.1:2380 + advertiseClientUrls: + - http://1.1.1.1:2379 + initialCluster: + - hostID: host1 + endpoint: http://1.1.1.1:2380 + clusterState: existing + - hostID: host2 + endpoint: http://1.1.1.2:2380 + - hostID: host3 + endpoint: http://1.1.1.3:2380 hashing: seed: 42 writeNewSeriesAsync: true @@ -607,65 +608,66 @@ func TestConfiguration(t *testing.T) { size: 8 lowWatermark: 0 highWatermark: 0 - config: - services: - - async: false - clientOverrides: - hostQueueFlushInterval: null - targetHostQueueFlushSize: null - service: - zone: embedded - env: production - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - 1.1.1.1:2379 - - 1.1.1.2:2379 - - 1.1.1.3:2379 - keepAlive: null - tls: null - autoSyncInterval: 0s - m3sd: - initTimeout: null - watchWithRevision: 0 - newDirectoryMode: null - statics: [] - seedNodes: - rootDir: /var/lib/etcd - initialAdvertisePeerUrls: - - http://1.1.1.1:2380 - advertiseClientUrls: - - http://1.1.1.1:2379 - listenPeerUrls: - - http://0.0.0.0:2380 - listenClientUrls: - - http://0.0.0.0:2379 - initialCluster: - - hostID: host1 - endpoint: http://1.1.1.1:2380 - clusterState: existing - - hostID: host2 - endpoint: http://1.1.1.2:2380 - clusterState: "" - - hostID: host3 - endpoint: http://1.1.1.3:2380 - clusterState: "" - clientTransportSecurity: - caFile: "" - certFile: "" - keyFile: "" - trustedCaFile: "" - clientCertAuth: false - autoTls: false - peerTransportSecurity: - caFile: "" - certFile: "" - keyFile: "" - trustedCaFile: "" - clientCertAuth: false - autoTls: false + discovery: + config: + services: + - async: false + clientOverrides: + hostQueueFlushInterval: null + targetHostQueueFlushSize: null + service: + zone: embedded + env: production + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - 1.1.1.1:2379 + - 1.1.1.2:2379 + - 1.1.1.3:2379 + keepAlive: null + tls: null + autoSyncInterval: 0s + m3sd: + initTimeout: null + watchWithRevision: 0 + newDirectoryMode: null + statics: [] + seedNodes: + rootDir: /var/lib/etcd + initialAdvertisePeerUrls: + - http://1.1.1.1:2380 + advertiseClientUrls: + - http://1.1.1.1:2379 + listenPeerUrls: + - http://0.0.0.0:2380 + listenClientUrls: + - http://0.0.0.0:2379 + initialCluster: + - hostID: host1 + endpoint: http://1.1.1.1:2380 + clusterState: existing + - hostID: host2 + endpoint: http://1.1.1.2:2380 + clusterState: "" + - hostID: host3 + endpoint: http://1.1.1.3:2380 + clusterState: "" + clientTransportSecurity: + caFile: "" + certFile: "" + keyFile: "" + trustedCaFile: "" + clientCertAuth: false + autoTls: false + peerTransportSecurity: + caFile: "" + certFile: "" + keyFile: "" + trustedCaFile: "" + clientCertAuth: false + autoTls: false hashing: seed: 42 writeNewSeriesAsync: true diff --git a/src/cmd/services/m3dbnode/main/main_index_test.go b/src/cmd/services/m3dbnode/main/main_index_test.go index a4cba46dbf..400aea7620 100644 --- a/src/cmd/services/m3dbnode/main/main_index_test.go +++ b/src/cmd/services/m3dbnode/main/main_index_test.go @@ -448,13 +448,14 @@ db: - capacity: 4096 size: 128 - config: - service: - env: {{.ServiceEnv}} - zone: {{.ServiceZone}} - service: {{.ServiceName}} - cacheDir: {{.ConfigServiceCacheDir}} - etcdClusters: - - zone: {{.ServiceZone}} - endpoints: {{.EtcdEndpoints}} + discovery: + config: + service: + env: {{.ServiceEnv}} + zone: {{.ServiceZone}} + service: {{.ServiceName}} + cacheDir: {{.ConfigServiceCacheDir}} + etcdClusters: + - zone: {{.ServiceZone}} + endpoints: {{.EtcdEndpoints}} ` diff --git a/src/cmd/services/m3dbnode/main/main_test.go b/src/cmd/services/m3dbnode/main/main_test.go index d8068c6e29..53902d0c21 100644 --- a/src/cmd/services/m3dbnode/main/main_test.go +++ b/src/cmd/services/m3dbnode/main/main_test.go @@ -626,28 +626,29 @@ db: ` embeddedKVConfigPortion = ` - config: - service: - env: {{.ServiceEnv}} - zone: {{.ServiceZone}} - service: {{.ServiceName}} - cacheDir: {{.ConfigServiceCacheDir}} - etcdClusters: - - zone: {{.ServiceZone}} - endpoints: - - {{.EtcdEndpoint}} - seedNodes: - rootDir: {{.EmbeddedKVDir}} - listenPeerUrls: - - {{.LPURL}} - listenClientUrls: - - {{.LCURL}} - initialAdvertisePeerUrls: - - {{.APURL}} - advertiseClientUrls: - - {{.ACURL}} - initialCluster: - - hostID: {{.InitialClusterHostID}} - endpoint: {{.InitialClusterEndpoint}} + discovery: + config: + service: + env: {{.ServiceEnv}} + zone: {{.ServiceZone}} + service: {{.ServiceName}} + cacheDir: {{.ConfigServiceCacheDir}} + etcdClusters: + - zone: {{.ServiceZone}} + endpoints: + - {{.EtcdEndpoint}} + seedNodes: + rootDir: {{.EmbeddedKVDir}} + listenPeerUrls: + - {{.LPURL}} + listenClientUrls: + - {{.LCURL}} + initialAdvertisePeerUrls: + - {{.APURL}} + advertiseClientUrls: + - {{.ACURL}} + initialCluster: + - hostID: {{.InitialClusterHostID}} + endpoint: {{.InitialClusterEndpoint}} ` ) diff --git a/src/cmd/tools/dtest/docker/harness/resources/config/m3dbnode.yml b/src/cmd/tools/dtest/docker/harness/resources/config/m3dbnode.yml index 1f9ab9fed6..ec131cd04f 100644 --- a/src/cmd/tools/dtest/docker/harness/resources/config/m3dbnode.yml +++ b/src/cmd/tools/dtest/docker/harness/resources/config/m3dbnode.yml @@ -71,21 +71,22 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - 127.0.0.1:2379 - seedNodes: - initialCluster: - - hostID: m3db_local - endpoint: http://127.0.0.1:2380 - + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - 127.0.0.1:2379 + seedNodes: + initialCluster: + - hostID: m3db_local + endpoint: http://127.0.0.1:2380 + # un-comment the lines below to enable Jaeger tracing. See https://www.jaegertracing.io/docs/1.9/getting-started/ # for quick local setup (which this config will send data to). diff --git a/src/dbnode/config/m3dbnode-all-config.yml b/src/dbnode/config/m3dbnode-all-config.yml index 0849aa4cd9..27862cd357 100644 --- a/src/dbnode/config/m3dbnode-all-config.yml +++ b/src/dbnode/config/m3dbnode-all-config.yml @@ -146,23 +146,24 @@ db: checkInterval: 1m # etcd configuration. - config: - service: - # KV environment, zone, and service from which to write/read KV data (placement - # and configuration). Leave these as the default values unless you know what - # you're doing. - env: default_env - zone: embedded - service: m3db - # Directory to store cached etcd data in. - cacheDir: /var/lib/m3kv - # Configuration to identify the etcd hosts this node should connect to. - etcdClusters: - - zone: embedded - endpoints: - - 127.0.0.1:2379 - # Should only be present if running an M3DB cluster with embedded etcd. - seedNodes: - initialCluster: - - hostID: m3db_local - endpoint: http://127.0.0.1:2380 + discovery: + config: + service: + # KV environment, zone, and service from which to write/read KV data (placement + # and configuration). Leave these as the default values unless you know what + # you're doing. + env: default_env + zone: embedded + service: m3db + # Directory to store cached etcd data in. + cacheDir: /var/lib/m3kv + # Configuration to identify the etcd hosts this node should connect to. + etcdClusters: + - zone: embedded + endpoints: + - 127.0.0.1:2379 + # Should only be present if running an M3DB cluster with embedded etcd. + seedNodes: + initialCluster: + - hostID: m3db_local + endpoint: http://127.0.0.1:2380 diff --git a/src/dbnode/config/m3dbnode-local-etcd-proto.yml b/src/dbnode/config/m3dbnode-local-etcd-proto.yml index 0d34b5f53a..8ee76d9d80 100644 --- a/src/dbnode/config/m3dbnode-local-etcd-proto.yml +++ b/src/dbnode/config/m3dbnode-local-etcd-proto.yml @@ -71,20 +71,21 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - 127.0.0.1:2379 - seedNodes: - initialCluster: - - hostID: m3db_local - endpoint: http://127.0.0.1:2380 + discovery: + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - 127.0.0.1:2379 + seedNodes: + initialCluster: + - hostID: m3db_local + endpoint: http://127.0.0.1:2380 proto: enabled: true diff --git a/src/dbnode/config/m3dbnode-local-etcd.yml b/src/dbnode/config/m3dbnode-local-etcd.yml index 1f9ab9fed6..5dd8a46cf7 100644 --- a/src/dbnode/config/m3dbnode-local-etcd.yml +++ b/src/dbnode/config/m3dbnode-local-etcd.yml @@ -71,20 +71,8 @@ db: filesystem: filePathPrefix: /var/lib/m3db - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - 127.0.0.1:2379 - seedNodes: - initialCluster: - - hostID: m3db_local - endpoint: http://127.0.0.1:2380 + discovery: + type: m3db_single_node # un-comment the lines below to enable Jaeger tracing. See https://www.jaegertracing.io/docs/1.9/getting-started/ # for quick local setup (which this config will send data to). diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index 4b19eb4e59..fc1c91afa4 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -18,7 +18,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -package environment +package discovery import ( "errors" diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go index 75c929f6d4..21bcbb6914 100644 --- a/src/dbnode/discovery/config_test.go +++ b/src/dbnode/discovery/config_test.go @@ -18,7 +18,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -package environment +package discovery import ( "io/ioutil" From 519c53f5f84eebdce4ca431ffee9e6b528e09b81 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 19:27:33 -0500 Subject: [PATCH 16/41] test fixing 1 --- src/cmd/services/m3dbnode/config/config.go | 6 +++--- src/cmd/services/m3dbnode/config/config_test.go | 6 ++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index e0bdf2092b..dae40cca6e 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -148,7 +148,7 @@ type DBConfiguration struct { Client client.Configuration `yaml:"client"` // The initial garbage collection target percentage. - GCPercentage *int `yaml:"gcPercentage" validate:"max=100"` + GCPercentage int `yaml:"gcPercentage" validate:"max=100"` // The tick configuration, omit this to use default settings. Tick *TickConfiguration `yaml:"tick"` @@ -303,11 +303,11 @@ func (c *DBConfiguration) CommitLogOrDefault() CommitLogPolicy { // GCPercentageOrDefault returns the GC percentage or default. func (c *DBConfiguration) GCPercentageOrDefault() int { - if c.GCPercentage == nil { + if c.GCPercentage == 0 { return defaultGCPercentage } - return *c.GCPercentage + return c.GCPercentage } // WriteNewSeriesAsyncOrDefault returns whether to write new series async or not. diff --git a/src/cmd/services/m3dbnode/config/config_test.go b/src/cmd/services/m3dbnode/config/config_test.go index 598bc35a3a..2db737a5df 100644 --- a/src/cmd/services/m3dbnode/config/config_test.go +++ b/src/cmd/services/m3dbnode/config/config_test.go @@ -95,8 +95,6 @@ db: gcPercentage: 100 - writeNewSeriesBackoffDuration: 2ms - bootstrap: filesystem: numProcessorsPerCPU: 0.42 @@ -310,7 +308,7 @@ db: hashing: seed: 42 writeNewSeriesAsync: true - + writeNewSeriesBackoffDuration: 2ms tracing: backend: jaeger ` @@ -408,7 +406,6 @@ func TestConfiguration(t *testing.T) { writeShardsInitializing: null shardsLeavingCountTowardsConsistency: null gcPercentage: 100 - writeNewSeriesBackoffDuration: 2ms tick: null bootstrap: mode: null @@ -667,6 +664,7 @@ func TestConfiguration(t *testing.T) { hashing: seed: 42 writeNewSeriesAsync: true + writeNewSeriesBackoffDuration: 2ms proto: null tracing: serviceName: "" From 4116b1e4c45e2973fdc5cfa3043bb977ab906827 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 19:28:35 -0500 Subject: [PATCH 17/41] tidy --- go.mod | 10 ++- go.sum | 190 --------------------------------------------------------- 2 files changed, 9 insertions(+), 191 deletions(-) diff --git a/go.mod b/go.mod index 7d9ccea77c..8e46e640e9 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d // indirect github.com/DataDog/datadog-go v3.7.1+incompatible // indirect + github.com/Masterminds/semver v1.5.0 // indirect github.com/MichaelTJones/pcg v0.0.0-20180122055547-df440c6ed7ed github.com/Microsoft/go-winio v0.4.14 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect @@ -23,6 +24,7 @@ require ( github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f github.com/davecgh/go-spew v1.1.1 github.com/docker/go-connections v0.4.0 // indirect + github.com/fatih/color v1.10.0 // indirect github.com/fortytw2/leaktest v1.2.1-0.20180901000122-b433bbd6d743 github.com/fossas/fossa-cli v1.0.30 github.com/garethr/kubeval v0.0.0-20180821130434-c44f5193dc94 @@ -35,7 +37,6 @@ require ( github.com/golang/mock v1.4.4 github.com/golang/protobuf v1.4.2 github.com/golang/snappy v0.0.1 - github.com/golangci/golangci-lint v1.32.2 // indirect github.com/google/go-cmp v0.5.2 github.com/google/go-jsonnet v0.16.0 github.com/google/uuid v1.1.2-0.20190416172445-c2e93f3ae59f // indirect @@ -47,6 +48,7 @@ require ( github.com/influxdata/influxdb v1.7.7 github.com/jhump/protoreflect v1.6.1 github.com/json-iterator/go v1.1.9 + github.com/kr/text v0.2.0 // indirect github.com/leanovate/gopter v0.2.8 github.com/lib/pq v1.6.0 // indirect github.com/lightstep/lightstep-tracer-go v0.18.1 @@ -65,6 +67,9 @@ require ( github.com/m3dbx/vellum v0.0.0-20200826162549-f94c029903de github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885 github.com/mjibson/esc v0.1.0 + github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect + github.com/onsi/ginkgo v1.14.1 // indirect + github.com/onsi/gomega v1.10.2 // indirect github.com/opencontainers/image-spec v1.0.1 // indirect github.com/opencontainers/runc v0.1.1 // indirect github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9 @@ -90,6 +95,7 @@ require ( github.com/satori/go.uuid v1.2.0 github.com/sergi/go-diff v1.1.0 github.com/shirou/gopsutil v2.20.5+incompatible // indirect + github.com/sirupsen/logrus v1.7.0 // indirect github.com/spf13/cast v1.3.1-0.20190531151931-f31dc0aaab5a // indirect github.com/spf13/cobra v1.1.1 github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -119,6 +125,7 @@ require ( golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 google.golang.org/grpc v1.29.1 + gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect gopkg.in/go-ini/ini.v1 v1.57.0 // indirect gopkg.in/go-playground/assert.v1 v1.2.1 // indirect gopkg.in/go-playground/validator.v9 v9.7.0 @@ -128,6 +135,7 @@ require ( gopkg.in/vmihailenco/msgpack.v2 v2.8.3 gopkg.in/yaml.v2 v2.3.0 gotest.tools v2.2.0+incompatible + honnef.co/go/tools v0.0.1-2020.1.6 // indirect ) // branch 0.9.3-pool-read-binary-3 diff --git a/go.sum b/go.sum index 9b894ed15d..2971417542 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,3 @@ -4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a h1:wFEQiK85fRsEVF0CRrPAos5LoAryUsIX1kPW/WrIqFw= -4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= @@ -39,8 +37,6 @@ github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d/go.mod h1:Rn2zM2M github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go v3.7.1+incompatible h1:HmA9qHVrHIAqpSvoCYJ+c6qst0lgqEhNW6/KwfkHbS8= github.com/DataDog/datadog-go v3.7.1+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5 h1:XTrzB+F8+SpRmbhAH8HLxhiiG6nYNwaBZjrFps1oWEk= -github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -55,8 +51,6 @@ github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/OpenPeeDeeP/depguard v1.0.1 h1:VlW4R6jmBIv3/u1JNlawEvJMM4J+dPORPaZasQee8Us= -github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -80,7 +74,6 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5 h1:P5U+E4x5OkVEKQDklVPmzs71WM56RTTRqV4OrDC//Y4= github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5/go.mod h1:976q2ETgjT2snVCf2ZaBnyBbVoPERGjUz+0sofzEfro= -github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= @@ -119,8 +112,6 @@ github.com/bmatcuk/doublestar v1.3.1 h1:rT8rxDPsavp9G+4ZULzqhhUSaI/OPsTZNG88Z3i0 github.com/bmatcuk/doublestar v1.3.1/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b h1:AP/Y7sqYicnjGDfD5VcY4CIfh1hRXBUavxrvELjTiOE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q= -github.com/bombsimon/wsl/v3 v3.1.0 h1:E5SRssoBgtVFPcYWUOFJEcgaySgdtTNYzsSKDOY7ss8= -github.com/bombsimon/wsl/v3 v3.1.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/briandowns/spinner v1.11.1 h1:OixPqDEcX3juo5AjQZAnFPbeUA0jvkp2qzB5gOZJ/L0= github.com/briandowns/spinner v1.11.1/go.mod h1:QOuQk7x+EaDASo80FEXwlwiA+j/PPIcX3FScO+3/ZPQ= github.com/c2h5oh/datasize v0.0.0-20171227191756-4eba002a5eae h1:2Zmk+8cNvAGuY8AyvZuWpUdpQUAXwfom4ReVMe/CTIo= @@ -173,8 +164,6 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/daixiang0/gci v0.2.4 h1:BUCKk5nlK2m+kRIsoj+wb/5hazHvHeZieBKWd9Afa8Q= -github.com/daixiang0/gci v0.2.4/go.mod h1:+AV8KmHTGxxwp/pY84TLQfFKp2vuKXXJVzF3kD/hfR4= github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -184,8 +173,6 @@ github.com/daviddengcn/go-assert v0.0.0-20150305222929-ba7e68aeeff6 h1:OPIYL/VhQ github.com/daviddengcn/go-assert v0.0.0-20150305222929-ba7e68aeeff6/go.mod h1:N+OekMaElW3rSAfDdNX6Dff3HS237/OhC08jYFW4oCw= github.com/daviddengcn/go-villa v0.0.0-20160111144444-3f35da8ba982 h1:2Trx4ntMtxmus9nN2w1PIqJOI8jB3RjlnDnFm/ImlIU= github.com/daviddengcn/go-villa v0.0.0-20160111144444-3f35da8ba982/go.mod h1:U8xNoHcXfPnZzy9zCxeKRjaJgC1d3613rFHjZVVAqKc= -github.com/denis-tingajkin/go-header v0.3.1 h1:ymEpSiFjeItCy1FOP+x0M2KdCELdEAHUsNa8F+hHc6w= -github.com/denis-tingajkin/go-header v0.3.1/go.mod h1:sq/2IxMhaZX+RRcgHfCRx/m0M5na0fBt4/CRe7Lrji0= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= @@ -247,8 +234,6 @@ github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 h1:gclg6gY70GLy github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/gnewton/jargo v0.0.0-20150417131352-41f5f186a805 h1:rLZXvVgFIon3lI+v9IL8t1AmG9/yLMSRB5LQ0frn+6Q= github.com/gnewton/jargo v0.0.0-20150417131352-41f5f186a805/go.mod h1:x+HLDnZexLq1FmhrdgFf4c3EWGbqhU3ITvISBFyzvRo= -github.com/go-critic/go-critic v0.5.2 h1:3RJdgf6u4NZUumoP8nzbqiiNT8e1tC2Oc7jlgqre/IA= -github.com/go-critic/go-critic v0.5.2/go.mod h1:cc0+HvdE3lFpqLecgqMaJcvWWH77sLdBp+wLGPM1Yyo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -308,29 +293,6 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= -github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= -github.com/go-toolsmith/astcopy v1.0.0 h1:OMgl1b1MEpjFQ1m5ztEO06rz5CUd3oBv9RF7+DyvdG8= -github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= -github.com/go-toolsmith/astequal v1.0.0 h1:4zxD8j3JRFNyLN46lodQuqz3xdKSrur7U/sr0SDS/gQ= -github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= -github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= -github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= -github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= -github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= -github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= -github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc= -github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= -github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= -github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= -github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/gofrs/flock v0.8.0 h1:MSdYClljsF3PbENUUEx85nkWfJSGfzYI9yEBZOJz6CY= -github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -366,36 +328,6 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= -github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= -github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= -github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= -github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6 h1:YYWNAGTKWhKpcLLt7aSj/odlKrSrelQwlovBpDuf19w= -github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0= -github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613 h1:9kfjN3AdxcbsZBf8NjltjWihK2QfBBBZuv91cMFfDHw= -github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8= -github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3 h1:pe9JHs3cHHDQgOFXJJdYkK6fLz2PWyYtP4hthoCMvs8= -github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o= -github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d h1:pXTK/gkVNs7Zyy7WKgLXmpQ5bHTrq5GDsp8R9Qs67g0= -github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU= -github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks= -github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= -github.com/golangci/golangci-lint v1.32.2 h1:CgIeFWTLJ3Nt1w/WU1RO351j/CjN6LIVjppbJfI9nMk= -github.com/golangci/golangci-lint v1.32.2/go.mod h1:ydr+IqtIVyAh72L16aK0bNdNg/YGa+AEgdbKj9MluzI= -github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc h1:gLLhTLMk2/SutryVJ6D4VZCU3CUqr8YloG7FPIBWFpI= -github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU= -github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= -github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= -github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= -github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= -github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770 h1:EL/O5HGrF7Jaq0yNhBLucz9hTuRzj2LdwGBOaENgxIk= -github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= -github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21 h1:leSNB7iYzLYSSx3J/s5sVf4Drkc68W2wm4Ixh/mr0us= -github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI= -github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0 h1:HVfrLniijszjS1aiNg8JbBMO2+E1WIQ+j/gL4SQqGPg= -github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450 h1:7xqw01UYS+KCI25bMrPxwNYkSns2Db1ziQPpVq99FpE= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho= github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995 h1:f5gsjBiF9tRRVomCvrkGMMWI8W1f2OBFar2c5oakAP0= @@ -412,7 +344,6 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github/v30 v30.1.0 h1:VLDx+UolQICEOKu2m4uAoMti1SxuEBAl7RSEG16L+Oo= @@ -435,7 +366,6 @@ github.com/google/uuid v1.1.2-0.20190416172445-c2e93f3ae59f/go.mod h1:TIyPZe4Mgq github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/gookit/color v1.3.1/go.mod h1:R3ogXq2B9rTbXoSHJ1HyUVAZ3poOJHpd9nQmyGZsfvQ= github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gophercloud/gophercloud v0.8.0/go.mod h1:Kc/QKr9thLKruO/dG0szY8kRIYS+iENz0ziI0hJf76A= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -455,12 +385,6 @@ github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/z github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.1.0 h1:E4c8Y1EQURbBEAHoXc/jBTK7Np14ArT8NPUiSFOl9yc= -github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= -github.com/gostaticanalysis/comment v1.3.0 h1:wTVgynbFu8/nz6SGgywA0TcyIoAVsYc7ai/Zp5xNGlw= -github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -558,13 +482,7 @@ github.com/jcmturner/rpc/v2 v2.0.2/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJk github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.6.1 h1:4/2yi5LyDPP7nN+Hiird1SAJ6YoxUm13/oxHGRnbPd8= github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= -github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a h1:GmsqmapfzSJkm28dhRoHz2tLRbJmqhU86IPgBtN3mmk= -github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a/go.mod h1:xRskid8CManxVta/ALEhJha/pweKBaVG6fWgc0yH25s= -github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3 h1:jNYPNLe3d8smommaoQlK7LOA5ESyUJJ+Wf79ZtA7Vp4= -github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= @@ -585,11 +503,8 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= @@ -602,18 +517,14 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= -github.com/kyoh86/exportloopref v0.1.7 h1:u+iHuTbkbTS2D/JP7fCuZDo/t3rBVGo3Hf58Rc+lQVY= -github.com/kyoh86/exportloopref v0.1.7/go.mod h1:h1rDl2Kdj97+Kwh4gdz3ujE7XHmH51Q0lUiZ1z4NLj8= github.com/leanovate/gopter v0.2.8 h1:eFPtJ3aa5zLfbxGROSNY75T9Dume60CWBAqoWQ3h/ig= github.com/leanovate/gopter v0.2.8/go.mod h1:gNcbPWNEWRe4lm+bycKqxUYoH5uoVje5SkOJ3uoLer8= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.6.0 h1:I5DPxhYJChW9KYc66se+oKFFQX6VuQrKiprsX6ivRZc= github.com/lib/pq v1.6.0/go.mod h1:4vXEAYvW1fRQ2/FhZ78H73A60MHw1geSm145z2mdY1g= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/m3db/bitset v2.0.0+incompatible h1:wMgri1Z2QSwJ8K/7ZuV7vE4feLOT7EofVC8RakIOybI= github.com/m3db/bitset v2.0.0+incompatible/go.mod h1:X8CCqZmZxs2O6d4qHhiqtAKCin4G5mScPhiwX9rsc5c= @@ -656,10 +567,6 @@ github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= -github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= -github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb h1:RHba4YImhrUVQDHUCe2BNSOz4tVy2yGyXhvYDvxGgeE= -github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -677,14 +584,10 @@ github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHX github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885 h1:nCU/HIvsORu8nlebFTTkEpxao5zA/yt5Y4yQccm34bM= github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885/go.mod h1:wRyVMWiOZeVj+MieWS5tIBBtJ3RtqqMbPsA5Z+t5b5U= -github.com/mbilski/exhaustivestruct v1.1.0 h1:4ykwscnAFeHJruT+EY3M3vdeP8uXMh0VV2E61iR7XD8= -github.com/mbilski/exhaustivestruct v1.1.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= @@ -694,7 +597,6 @@ github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceT github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= @@ -714,17 +616,12 @@ github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lN github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= -github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= -github.com/mozilla/tls-observatory v0.0.0-20200317151703-4fa42e1c2dee/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae h1:VeRdUYdCw49yizlSbMEn2SZ+gT+3IUKx8BqxyQdz+BY= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/nakabonne/nestif v0.3.0 h1:+yOViDGhg8ygGrmII72nV9B/zGxY188TYpfolntsaPw= -github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -732,12 +629,8 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d h1:AREM5mwr4u1ORQBMvzfzBgpsctsbQikCVpvC+tX285E= -github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nishanths/exhaustive v0.1.0 h1:kVlMw8h2LHPMGUVqUj6230oQjjTMFjwcZrnkhXzFfl8= -github.com/nishanths/exhaustive v0.1.0/go.mod h1:S1j9110vxV1ECdCudXRkeMnFQ/DQk9ajLT0Uf2MYZQQ= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= @@ -803,8 +696,6 @@ github.com/pelletier/go-toml v1.5.0 h1:5BakdOZdtKJ1FFk6QdL8iSGrMWsXgchNJcrnarjbm github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -825,8 +716,6 @@ github.com/pointlander/jetset v1.0.0 h1:bNlaNAX7cDPID9SlcogmXlDWq0KcRJSpKwHXaAM3 github.com/pointlander/jetset v1.0.0/go.mod h1:zY6+WHRPB10uzTajloHtybSicLW1bf6Rz0eSaU9Deng= github.com/pointlander/peg v1.0.0 h1:rtCtA6Fu6xJpILX8WJfU+cvrcKmXgTfG/v+bkLP8NYY= github.com/pointlander/peg v1.0.0/go.mod h1:WJTMcgeWYr6fZz4CwHnY1oWZCXew8GWCF93FaAxPrh4= -github.com/polyfloyd/go-errorlint v0.0.0-20201006195004-351e25ade6e3 h1:Amgs0nbayPhBNGh1qPqqr2e7B2qNAcBgRjnBH/lmn8k= -github.com/polyfloyd/go-errorlint v0.0.0-20201006195004-351e25ade6e3/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prashantv/protectmem v0.0.0-20171002184600-e20412882b3a h1:AA9vgIBDjMHPC2McaGPojgV2dcI78ZC0TLNhYCXEKH8= github.com/prashantv/protectmem v0.0.0-20171002184600-e20412882b3a/go.mod h1:lzZQ3Noex5pfAy7mkAeCjcBDteYU85uWWnJ/y6gKU8k= @@ -859,11 +748,6 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx github.com/prometheus/prometheus v1.8.2-0.20200420081721-18254838fbe2 h1:JtWnHSHMC1h8mb6K5GsFzmhY/WMILsxQ4slsJu+lyg8= github.com/prometheus/prometheus v1.8.2-0.20200420081721-18254838fbe2/go.mod h1:ZnfuiMn3LNsry2q7ECmRe4WcscxmJSd2dIFpOi4w3lM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= -github.com/quasilyte/go-ruleguard v0.2.0 h1:UOVMyH2EKkxIfzrULvA9n/tO+HtEhqD9mrLSWMr5FwU= -github.com/quasilyte/go-ruleguard v0.2.0/go.mod h1:2RT/tf0Ce0UDj5y243iWKosQogJd8+1G3Rs2fxmlYnw= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/rakyll/statik v0.1.6 h1:uICcfUXpgqtw2VopbIncslhAmE5hwc4g20TEyEENBNs= github.com/rakyll/statik v0.1.6/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -877,8 +761,6 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= @@ -886,10 +768,6 @@ github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rveen/ogdl v0.0.0-20200522080342-eeeda1a978e7 h1:Lftq+hHvm0kPWM1sDNqx1jkXAo1zw2YceoFo1hdyj7I= github.com/rveen/ogdl v0.0.0-20200522080342-eeeda1a978e7/go.mod h1:9fqUB54wJS9u5TSXJZhRfTdh1lXVxTytDjed7t2cNdw= -github.com/ryancurrah/gomodguard v1.1.0 h1:DWbye9KyMgytn8uYpuHkwf0RHqAYO6Ay/D0TbCpPtVU= -github.com/ryancurrah/gomodguard v1.1.0/go.mod h1:4O8tr7hBODaGE6VIhfJDHcwzh5GUccKSJBU0UMXJFVM= -github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= -github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -900,20 +778,13 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUt github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seborama/govcr v2.2.1+incompatible h1:rELLpGxrv9ahY6zC5ruwNJtbNaSYsIC5VE9q7pI/+3I= github.com/seborama/govcr v2.2.1+incompatible/go.mod h1:EgcISudCCYDLzbiAImJ8i7kk4+wTA44Kp+j4S0LhASI= -github.com/securego/gosec/v2 v2.5.0 h1:kjfXLeKdk98gBe2+eYRFMpC4+mxmQQtbidpiiOQ69Qc= -github.com/securego/gosec/v2 v2.5.0/go.mod h1:L/CDXVntIff5ypVHIkqPXbtRpJiNCh6c6Amn68jXDjo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= -github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= -github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= github.com/shirou/gopsutil v2.17.13-0.20180801053943-8048a2e9c577+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v2.20.5+incompatible h1:tYH07UPoQt0OCQdgWWMgYHy3/a9bcxNpBIysykNIP7I= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= @@ -922,7 +793,6 @@ github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvH github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -934,11 +804,7 @@ github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9 github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= -github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= -github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= @@ -971,8 +837,6 @@ github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= -github.com/ssgreg/nlreturn/v2 v2.1.0 h1:6/s4Rc49L6Uo6RLjhWZGBpWWjfzk2yrf1nIW8m4wgVA= -github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -988,13 +852,7 @@ github.com/subosito/gotenv v1.2.1-0.20190917103637-de67a6614a4d h1:YN4gX82mT31qs github.com/subosito/gotenv v1.2.1-0.20190917103637-de67a6614a4d/go.mod h1:GVSeM7r0P1RI1gOKYyN9IuNkhMmQwKGsjVf3ulDrdzo= github.com/tcnksm/go-gitconfig v0.1.2 h1:iiDhRitByXAEyjgBqsKi9QU4o2TNtv9kPP3RgPgXBPw= github.com/tcnksm/go-gitconfig v0.1.2/go.mod h1:/8EhP4H7oJZdIPyT+/UIsG87kTzrzM4UsLGSItWYCpE= -github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2 h1:Xr9gkxfOP0KQWXKNqmwe8vEeSUiUj4Rlee9CMVX2ZUQ= -github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= -github.com/tetafro/godot v0.4.9 h1:dSOiuasshpevY73eeI3+zaqFnXSBKJ3mvxbyhh54VRo= -github.com/tetafro/godot v0.4.9/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e h1:RumXZ56IrCj4CL+g1b9OL/oH0QnsF976bC8xQFYUD5Q= -github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tj/assert v0.0.0-20171129193455-018094318fb0 h1:Rw8kxzWo1mr6FSaYXjQELRe88y2KdfynXdnK72rdjtA= @@ -1005,10 +863,6 @@ github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKw github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d h1:3EZyvNUMsGD1QA8cu0STNn1L7I77rvhf2IhOcHYQhSw= -github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d/go.mod h1:yiFB6fFoV7saXirUGfuK+cPtUh4NX/Hf5y2WC2lehu0= -github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa h1:RC4maTWLKKwb7p1cnoygsbKIgNlJqSYBeAFON3Ar8As= -github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/twmb/murmur3 v1.1.4 h1:NnlAxelwOgdQDmYuV0T/K+tpDQ/8wdsDVOGmvUqBOCw= github.com/twmb/murmur3 v1.1.4/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ= @@ -1025,18 +879,9 @@ github.com/uber/tchannel-go v1.14.0/go.mod h1:Rrgz1eL8kMjW/nEzZos0t+Heq0O4LhnUJV github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ulikunitz/xz v0.5.5 h1:pFrO0lVpTBXLpYw+pnLj6TbvHuyjXMfjGeCwSqCVwok= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= -github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= -github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= -github.com/ultraware/whitespace v0.0.4 h1:If7Va4cM03mpgrNH9k49/VOicWpGoG70XPBFFODYDsg= -github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/uudashr/gocognit v1.0.1 h1:MoG2fZ0b/Eo7NXoIwCVFLG5JED3qgQz5/NEE+rOsjPs= -github.com/uudashr/gocognit v1.0.1/go.mod h1:j44Ayx2KW4+oB6SWMv8KsmHzZrOInQav7D3cQMJ5JUM= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= -github.com/valyala/quicktemplate v1.6.3/go.mod h1:fwPzK2fHuYEODzJ9pkw0ipCPNHZ2tD5KW4lOuSdPKzY= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a h1:0R4NLDRDZX6JcmhJgXi5E4b8Wg84ihbmUKp/GvSPEzc= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/vmihailenco/msgpack v2.8.3+incompatible h1:76LCLwxS08gKHRpGA10PBxfWk72JfUH6mgzp2+URwYM= @@ -1057,9 +902,7 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= @@ -1168,8 +1011,6 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1201,21 +1042,15 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1229,37 +1064,20 @@ golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDq golang.org/x/tools v0.0.0-20190813034749-528a2984e271/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191104232314-dc038396d1f0/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191203134012-c197fd4bf371/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200305205014-bc073721adb6/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200321224714-0d839f3cf2ed/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200410194907-79a7a3126eef/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b h1:zSzQJAznWxAh9fZxiPy2FZo+ZZEYoYFYYDYdOrU7AaM= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200731060945-b5fad4ed8dd6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201007032633-0806396f153e/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201011145850-ed2f50202694/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 h1:2ntEwh02rqo2jSsrYmp4yKHHjh0CbXP3ZtSUetSB+q8= golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1398,14 +1216,6 @@ k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -mvdan.cc/gofumpt v0.0.0-20200802201014-ab5a8192947d h1:t8TAw9WgTLghti7RYkpPmqk4JtQ3+wcP5GgZqgWeWLQ= -mvdan.cc/gofumpt v0.0.0-20200802201014-ab5a8192947d/go.mod h1:bzrjFmaD6+xqohD3KYP0H2FEuxknnBmyyOxdhLdaIws= -mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= -mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= -mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= -mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= -mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7 h1:kAREL6MPwpsk1/PQPFD3Eg7WAQR5mPTWZJaBiG5LDbY= -mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7/go.mod h1:HGC5lll35J70Y5v7vCGb9oLhHoScFwkHDJm/05RdSTc= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= From ec2e96b9cb6765eadff8126848a01b3cedd4020f Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 19:34:49 -0500 Subject: [PATCH 18/41] test fixing 2 --- src/cmd/services/m3dbnode/config/config.go | 8 ++++---- src/cmd/services/m3query/config/config.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index dae40cca6e..fd78f5acd0 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -127,16 +127,16 @@ type DBConfiguration struct { Metrics *instrument.MetricsConfiguration `yaml:"metrics"` // The host and port on which to listen for the node service. - ListenAddress *string `yaml:"listenAddress" validate:"nonzero"` + ListenAddress *string `yaml:"listenAddress"` // The host and port on which to listen for the cluster service. - ClusterListenAddress *string `yaml:"clusterListenAddress" validate:"nonzero"` + ClusterListenAddress *string `yaml:"clusterListenAddress"` // The HTTP host and port on which to listen for the node service. - HTTPNodeListenAddress *string `yaml:"httpNodeListenAddress" validate:"nonzero"` + HTTPNodeListenAddress *string `yaml:"httpNodeListenAddress"` // The HTTP host and port on which to listen for the cluster service. - HTTPClusterListenAddress *string `yaml:"httpClusterListenAddress" validate:"nonzero"` + HTTPClusterListenAddress *string `yaml:"httpClusterListenAddress"` // The host and port on which to listen for debug endpoints. DebugListenAddress *string `yaml:"debugListenAddress"` diff --git a/src/cmd/services/m3query/config/config.go b/src/cmd/services/m3query/config/config.go index c6445dcadc..b65667cb49 100644 --- a/src/cmd/services/m3query/config/config.go +++ b/src/cmd/services/m3query/config/config.go @@ -131,7 +131,7 @@ type Configuration struct { ClusterManagement *ClusterManagementConfiguration `yaml:"clusterManagement"` // ListenAddress is the server listen address. - ListenAddress *string `yaml:"listenAddress" validate:"nonzero"` + ListenAddress *string `yaml:"listenAddress"` // Filter is the read/write/complete tags filter configuration. Filter FilterConfiguration `yaml:"filter"` From 47442d3c928112b1a4f83ba6bb632998a8fa54fe Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 19:52:02 -0500 Subject: [PATCH 19/41] use envcfg from discoverycfg --- src/cmd/services/m3dbnode/config/config.go | 8 ++++- .../services/m3dbnode/main/main_index_test.go | 10 ++++-- src/cmd/services/m3dbnode/main/main_test.go | 16 ++++++--- src/dbnode/discovery/config.go | 21 +++++------ src/dbnode/discovery/config_test.go | 35 +++++-------------- src/dbnode/server/server.go | 31 +++++++++------- src/query/server/query.go | 29 +++++++++++++-- 7 files changed, 89 insertions(+), 61 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 3d97247294..3f19db7fc3 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -448,12 +448,18 @@ func (c *ProtoConfiguration) Validate() error { // NewEtcdEmbedConfig creates a new embedded etcd config from kv config. func NewEtcdEmbedConfig(cfg DBConfiguration) (*embed.Config, error) { newKVCfg := embed.NewConfig() - kvCfg := cfg.EnvironmentConfig.SeedNodes hostID, err := cfg.HostID.Resolve() if err != nil { return nil, err } + + envCfg, err := cfg.DiscoveryConfig.EnvironmentConfig(hostID) + if err != nil { + return nil, err + } + + kvCfg := envCfg.SeedNodes newKVCfg.Name = hostID dir := kvCfg.RootDir diff --git a/src/cmd/services/m3dbnode/main/main_index_test.go b/src/cmd/services/m3dbnode/main/main_index_test.go index 400aea7620..b726d99715 100644 --- a/src/cmd/services/m3dbnode/main/main_index_test.go +++ b/src/cmd/services/m3dbnode/main/main_index_test.go @@ -111,7 +111,12 @@ func TestIndexEnabledServer(t *testing.T) { err = xconfig.LoadFile(&cfg, configFd.Name(), xconfig.Options{}) require.NoError(t, err) - syncCluster, err := cfg.DB.EnvironmentConfig.Services.SyncCluster() + envCfg, err := cfg.DiscoveryConfig.EnvironmentConfig(hostID) + if err != nil { + return nil, err + } + + syncCluster, err := envCfg.Services.SyncCluster() require.NoError(t, err) configSvcClient, err := syncCluster.Service.NewClient(instrument.NewOptions(). SetLogger(zap.NewNop())) @@ -193,7 +198,8 @@ func TestIndexEnabledServer(t *testing.T) { // NB(r): Make sure client config points to the root config // service since we're going to instantiate the client configuration // just by itself. - cfg.DB.Client.EnvironmentConfig = &cfg.DB.EnvironmentConfig + cfg.DB.Client.EnvironmentConfig, err = &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) + require.NoError(t, err) cli, err := cfg.DB.Client.NewClient(client.ConfigurationParameters{}) require.NoError(t, err) diff --git a/src/cmd/services/m3dbnode/main/main_test.go b/src/cmd/services/m3dbnode/main/main_test.go index 53902d0c21..52ba11d780 100644 --- a/src/cmd/services/m3dbnode/main/main_test.go +++ b/src/cmd/services/m3dbnode/main/main_test.go @@ -103,7 +103,10 @@ func TestConfig(t *testing.T) { err = xconfig.LoadFile(&cfg, configFd.Name(), xconfig.Options{}) require.NoError(t, err) - syncCluster, err := cfg.DB.EnvironmentConfig.Services.SyncCluster() + envCfg, err := &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) + require.NoError(t, err) + + syncCluster, err := envCfg.Services.SyncCluster() require.NoError(t, err) configSvcClient, err := syncCluster.Service.NewClient(instrument.NewOptions(). SetLogger(zap.NewNop())) @@ -185,7 +188,8 @@ func TestConfig(t *testing.T) { // NB(r): Make sure client config points to the root config // service since we're going to instantiate the client configuration // just by itself. - cfg.DB.Client.EnvironmentConfig = &cfg.DB.EnvironmentConfig + cfg.DB.Client.EnvironmentConfig, err = &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) + require.NoError(t, err) cli, err := cfg.DB.Client.NewClient(client.ConfigurationParameters{}) require.NoError(t, err) @@ -334,7 +338,10 @@ func TestEmbeddedConfig(t *testing.T) { err = xconfig.LoadFile(&cfg, configFd.Name(), xconfig.Options{}) require.NoError(t, err) - syncCluster, err := cfg.DB.EnvironmentConfig.Services.SyncCluster() + envCfg, err := &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) + require.NoError(t, err) + + syncCluster, err := envCfg.Services.SyncCluster() require.NoError(t, err) configSvcClient, err := syncCluster.Service.NewClient(instrument.NewOptions(). SetLogger(zap.NewNop())) @@ -395,7 +402,8 @@ func TestEmbeddedConfig(t *testing.T) { // NB(r): Make sure client config points to the root config // service since we're going to instantiate the client configuration // just by itself. - cfg.DB.Client.EnvironmentConfig = &cfg.DB.EnvironmentConfig + cfg.DB.Client.EnvironmentConfig, err = &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) + require.NoError(t, err) cli, err := cfg.DB.Client.NewClient(client.ConfigurationParameters{}) require.NoError(t, err) diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index fc1c91afa4..cc4157f720 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -26,7 +26,6 @@ import ( etcdclient "github.com/m3db/m3/src/cluster/client/etcd" "github.com/m3db/m3/src/dbnode/environment" - "github.com/m3db/m3/src/x/config/hostid" ) const ( @@ -129,10 +128,10 @@ type M3AggregatorClusterDiscoveryConfiguration struct { Endpoints []string `yaml:"endpoints"` } -// EnvironmentConfiguration provides the environment configuration +// EnvironmentConfig provides the environment configuration // based on the type of discovery configuration set. -func (c *Configuration) EnvironmentConfiguration( - hostID hostid.Configuration, +func (c *Configuration) EnvironmentConfig( + hostID string, ) (environment.Configuration, error) { discoveryConfigType := defaultDiscoveryConfigType if c.Type != nil { @@ -143,7 +142,7 @@ func (c *Configuration) EnvironmentConfiguration( case ConfigType: return *c.Config, nil case M3DBSingleNodeType: - return c.m3dbSingleNodeEnvConfig(hostID) + return c.m3dbSingleNodeEnvConfig(hostID), nil case M3DBClusterType: return c.M3DBCluster.envConfig() case M3AggregatorClusterType: @@ -154,12 +153,8 @@ func (c *Configuration) EnvironmentConfiguration( } func (c *Configuration) m3dbSingleNodeEnvConfig( - hostID hostid.Configuration, -) (environment.Configuration, error) { - resolvedHostID, err := hostID.Resolve() - if err != nil { - return environment.Configuration{}, err - } + hostID string, +) environment.Configuration { return environment.Configuration{ Services: []*environment.DynamicCluster{ { @@ -180,12 +175,12 @@ func (c *Configuration) m3dbSingleNodeEnvConfig( SeedNodes: &environment.SeedNodesConfig{ InitialCluster: []environment.SeedNode{ { - HostID: resolvedHostID, + HostID: hostID, Endpoint: defaultSingleNodeClusterSeedEndpoint, }, }, }, - }, nil + } } func (c *M3DBClusterDiscoveryConfiguration) envConfig() (environment.Configuration, error) { diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go index 21bcbb6914..5f3c8b441c 100644 --- a/src/dbnode/discovery/config_test.go +++ b/src/dbnode/discovery/config_test.go @@ -26,7 +26,6 @@ import ( "testing" xconfig "github.com/m3db/m3/src/x/config" - "github.com/m3db/m3/src/x/config/hostid" "github.com/stretchr/testify/assert" ) @@ -35,11 +34,7 @@ func TestM3DBSingleNodeType(t *testing.T) { type: m3db_single_node ` - id := "test_id" - hostID := hostid.Configuration{ - Resolver: hostid.ConfigResolver, - Value: &id, - } + hostID := "test_id" fd, err := ioutil.TempFile("", "config.yaml") assert.NoError(t, err) @@ -55,7 +50,7 @@ type: m3db_single_node err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) assert.NoError(t, err) - envConfig, err := cfg.EnvironmentConfiguration(hostID) + envConfig, err := cfg.EnvironmentConfig(hostID) assert.NoError(t, err) assert.Equal(t, 1, len(envConfig.Services)) assert.Equal(t, 1, len(envConfig.SeedNodes.InitialCluster)) @@ -72,7 +67,7 @@ type: m3db_single_node c := envConfig.SeedNodes.InitialCluster[0] assert.Equal(t, defaultSingleNodeClusterSeedEndpoint, c.Endpoint) - assert.Equal(t, id, c.HostID) + assert.Equal(t, hostID, c.HostID) } func TestM3DBClusterType(t *testing.T) { @@ -86,11 +81,7 @@ m3dbCluster: - end_2 ` - id := "test_id" - hostID := hostid.Configuration{ - Resolver: hostid.ConfigResolver, - Value: &id, - } + hostID := "test_id" fd, err := ioutil.TempFile("", "config.yaml") assert.NoError(t, err) @@ -106,7 +97,7 @@ m3dbCluster: err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) assert.NoError(t, err) - envConfig, err := cfg.EnvironmentConfiguration(hostID) + envConfig, err := cfg.EnvironmentConfig(hostID) assert.NoError(t, err) assert.Equal(t, 1, len(envConfig.Services)) assert.Nil(t, envConfig.SeedNodes) @@ -134,11 +125,7 @@ m3AggregatorCluster: - end_2 ` - id := "test_id" - hostID := hostid.Configuration{ - Resolver: hostid.ConfigResolver, - Value: &id, - } + hostID := "test_id" fd, err := ioutil.TempFile("", "config.yaml") assert.NoError(t, err) @@ -154,7 +141,7 @@ m3AggregatorCluster: err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) assert.NoError(t, err) - envConfig, err := cfg.EnvironmentConfiguration(hostID) + envConfig, err := cfg.EnvironmentConfig(hostID) assert.NoError(t, err) assert.Equal(t, 1, len(envConfig.Services)) assert.Nil(t, envConfig.SeedNodes) @@ -189,11 +176,7 @@ config: endpoint: http://127.0.0.1:2380 ` - id := "test_id" - hostID := hostid.Configuration{ - Resolver: hostid.ConfigResolver, - Value: &id, - } + hostID := "test_id" fd, err := ioutil.TempFile("", "config.yaml") assert.NoError(t, err) @@ -209,7 +192,7 @@ config: err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) assert.NoError(t, err) - envConfig, err := cfg.EnvironmentConfiguration(hostID) + envConfig, err := cfg.EnvironmentConfig(hostID) assert.NoError(t, err) assert.Equal(t, 1, len(envConfig.Services)) assert.Equal(t, 1, len(envConfig.SeedNodes.InitialCluster)) diff --git a/src/dbnode/server/server.go b/src/dbnode/server/server.go index 2adc9a52d1..aa34af7133 100644 --- a/src/dbnode/server/server.go +++ b/src/dbnode/server/server.go @@ -267,17 +267,22 @@ func Run(runOpts RunOptions) { } // Presence of KV server config indicates embedded etcd cluster - if cfg.EnvironmentConfig.SeedNodes == nil { + envConfig, err := cfg.DiscoveryConfig.EnvironmentConfig(hostID) + if err != nil { + logger.Fatal("could not get env config from discovery config", zap.Error(err)) + } + + if envConfig.SeedNodes == nil { logger.Info("no seed nodes set, using dedicated etcd cluster") } else { // Default etcd client clusters if not set already - service, err := cfg.EnvironmentConfig.Services.SyncCluster() + service, err := envConfig.Services.SyncCluster() if err != nil { logger.Fatal("invalid cluster configuration", zap.Error(err)) } clusters := service.Service.ETCDClusters - seedNodes := cfg.EnvironmentConfig.SeedNodes.InitialCluster + seedNodes := envConfig.SeedNodes.InitialCluster if len(clusters) == 0 { endpoints, err := config.InitialClusterEndpoints(seedNodes) if err != nil { @@ -596,12 +601,12 @@ func Run(runOpts RunOptions) { opts = opts.SetPersistManager(pm) var ( - envCfg environment.ConfigureResults + envCfgResults environment.ConfigureResults ) - if len(cfg.EnvironmentConfig.Statics) == 0 { + if len(envConfig.Statics) == 0 { logger.Info("creating dynamic config service client with m3cluster") - envCfg, err = cfg.EnvironmentConfig.Configure(environment.ConfigurationParameters{ + envCfgResults, err = envConfig.Configure(environment.ConfigurationParameters{ InstrumentOpts: iopts, HashingSeed: cfg.Hashing.Seed, NewDirectoryMode: newDirectoryMode, @@ -613,7 +618,7 @@ func Run(runOpts RunOptions) { } else { logger.Info("creating static config service client with m3cluster") - envCfg, err = cfg.EnvironmentConfig.Configure(environment.ConfigurationParameters{ + envCfgResults, err = envConfig.Configure(environment.ConfigurationParameters{ InstrumentOpts: iopts, HostID: hostID, ForceColdWritesEnabled: runOpts.StorageOptions.ForceColdWritesEnabled, @@ -623,7 +628,7 @@ func Run(runOpts RunOptions) { } } - syncCfg, err := envCfg.SyncCluster() + syncCfg, err := envCfgResults.SyncCluster() if err != nil { logger.Fatal("invalid cluster config", zap.Error(err)) } @@ -688,11 +693,11 @@ func Run(runOpts RunOptions) { if err != nil { logger.Warn("could not create handler options for debug writer", zap.Error(err)) } else { - envCfg, err := cfg.EnvironmentConfig.Services.SyncCluster() - if err != nil || envCfg.Service == nil { + envCfgCluster, err := envConfig.Services.SyncCluster() + if err != nil || envCfgCluster.Service == nil { logger.Warn("could not get cluster config for debug writer", zap.Error(err), - zap.Bool("envCfgServiceIsNil", envCfg.Service == nil)) + zap.Bool("envCfgClusterServiceIsNil", envCfgCluster.Service == nil)) } else { debugWriter, err = xdebug.NewPlacementAndNamespaceZipWriterWithDefaultSources( cpuProfileDuration, @@ -702,8 +707,8 @@ func Run(runOpts RunOptions) { { ServiceName: handleroptions.M3DBServiceName, Defaults: []handleroptions.ServiceOptionsDefault{ - handleroptions.WithDefaultServiceEnvironment(envCfg.Service.Env), - handleroptions.WithDefaultServiceZone(envCfg.Service.Zone), + handleroptions.WithDefaultServiceEnvironment(envCfgCluster.Service.Env), + handleroptions.WithDefaultServiceZone(envCfgCluster.Service.Zone), }, }, }, diff --git a/src/query/server/query.go b/src/query/server/query.go index 054e7055c1..99328b273c 100644 --- a/src/query/server/query.go +++ b/src/query/server/query.go @@ -436,7 +436,19 @@ func Run(runOpts RunOptions) { var serviceOptionDefaults []handleroptions.ServiceOptionsDefault if dbCfg := runOpts.DBConfig; dbCfg != nil { - cluster, err := dbCfg.EnvironmentConfig.Services.SyncCluster() + hostID, err := dbCfg.HostID.Resolve() + if err != nil { + logger.Fatal("could not resolve hostID", + zap.Error(err)) + } + + envCfg, err := dbCfg.DiscoveryConfig.EnvironmentConfig(hostID) + if err != nil { + logger.Fatal("could not get env config from discovery config", + zap.Error(err)) + } + + cluster, err := envCfg.Services.SyncCluster() if err != nil { logger.Fatal("could not resolve embedded db cluster info", zap.Error(err)) @@ -817,7 +829,20 @@ func initClusters( if dbCfg == nil { return nil, nil, nil, errors.New("environment config required when dynamically fetching namespaces") } - clusterStaticConfig.Client = client.Configuration{EnvironmentConfig: &dbCfg.EnvironmentConfig} + + hostID, err := dbCfg.HostID.Resolve() + if err != nil { + logger.Fatal("could not resolve hostID", + zap.Error(err)) + } + + envCfg, err := dbCfg.DiscoveryConfig.EnvironmentConfig(hostID) + if err != nil { + logger.Fatal("could not get env config from discovery config", + zap.Error(err)) + } + + clusterStaticConfig.Client = client.Configuration{EnvironmentConfig: &envCfg} } clustersCfg := m3.ClustersStaticConfiguration{clusterStaticConfig} From 048e5dda5d023aaf1c0575cbd3aa4ce16ef55cc8 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 23:29:33 -0500 Subject: [PATCH 20/41] test fixes 1 --- src/cmd/services/m3dbnode/config/config.go | 4 ++-- src/cmd/services/m3dbnode/config/config_test.go | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 3f19db7fc3..559964b262 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -451,12 +451,12 @@ func NewEtcdEmbedConfig(cfg DBConfiguration) (*embed.Config, error) { hostID, err := cfg.HostID.Resolve() if err != nil { - return nil, err + return nil, fmt.Errorf("failed resolving hostID %v", err) } envCfg, err := cfg.DiscoveryConfig.EnvironmentConfig(hostID) if err != nil { - return nil, err + return nil, fmt.Errorf("failed getting env config from discovery config %v", err) } kvCfg := envCfg.SeedNodes diff --git a/src/cmd/services/m3dbnode/config/config_test.go b/src/cmd/services/m3dbnode/config/config_test.go index 38dc2fbf09..6ca74513f9 100644 --- a/src/cmd/services/m3dbnode/config/config_test.go +++ b/src/cmd/services/m3dbnode/config/config_test.go @@ -609,6 +609,9 @@ func TestConfiguration(t *testing.T) { lowWatermark: 0 highWatermark: 0 discovery: + type: null + m3dbCluster: null + m3AggregatorCluster: null config: services: - async: false From 40220192b4a161958ea9dfa187b3b4e21ca2ce8e Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 23:43:42 -0500 Subject: [PATCH 21/41] test fixes 2 --- src/cmd/services/m3dbnode/config/config.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index fd78f5acd0..80f4f135eb 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -345,8 +345,10 @@ func (c *DBConfiguration) PoolingPolicyOrDefault() (PoolingPolicy, error) { // Validate validates the Configuration. We use this method to validate fields // where the validator package falls short. func (c *DBConfiguration) Validate() error { - if err := c.Filesystem.Validate(); err != nil { - return err + if c.Filesystem != nil { + if err := c.Filesystem.Validate(); err != nil { + return err + } } if _, err := c.PoolingPolicyOrDefault(); err != nil { From 3dc1969356dacde066a15185636f8b5a81b5d8b5 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 23:45:20 -0500 Subject: [PATCH 22/41] test fixes 2 --- src/cmd/services/m3dbnode/config/config.go | 4 ++-- src/dbnode/discovery/config.go | 2 +- src/dbnode/discovery/config_test.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 559964b262..751f1d1131 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -451,12 +451,12 @@ func NewEtcdEmbedConfig(cfg DBConfiguration) (*embed.Config, error) { hostID, err := cfg.HostID.Resolve() if err != nil { - return nil, fmt.Errorf("failed resolving hostID %v", err) + return nil, fmt.Errorf("failed resolving hostID %w", err) } envCfg, err := cfg.DiscoveryConfig.EnvironmentConfig(hostID) if err != nil { - return nil, fmt.Errorf("failed getting env config from discovery config %v", err) + return nil, fmt.Errorf("failed getting env config from discovery config %w", err) } kvCfg := envCfg.SeedNodes diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index cc4157f720..e112a9ecf6 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -1,4 +1,4 @@ -// Copyright (c) 2017 Uber Technologies, Inc. +// Copyright (c) 2020 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go index 5f3c8b441c..8f0d283ad5 100644 --- a/src/dbnode/discovery/config_test.go +++ b/src/dbnode/discovery/config_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2018 Uber Technologies, Inc. +// Copyright (c) 2020 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal From e44cd1e1c52bee5d78eb27f37ae7f7a74dcd3601 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Thu, 5 Nov 2020 23:51:15 -0500 Subject: [PATCH 23/41] test fixes 3 --- src/dbnode/server/server.go | 2 +- src/query/server/query.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dbnode/server/server.go b/src/dbnode/server/server.go index 526160cd79..0c2a20f0b6 100644 --- a/src/dbnode/server/server.go +++ b/src/dbnode/server/server.go @@ -175,7 +175,7 @@ func Run(runOpts RunOptions) { os.Exit(1) } - logger, err := cfg.Logging.BuildLogger() + logger, err := cfg.LoggingOrDefault().BuildLogger() if err != nil { // NB(r): Use fmt.Fprintf(os.Stderr, ...) to avoid etcd.SetGlobals() // sending stdlib "log" to black hole. Don't remove unless with good reason. diff --git a/src/query/server/query.go b/src/query/server/query.go index 7bc832eef1..c67327c669 100644 --- a/src/query/server/query.go +++ b/src/query/server/query.go @@ -177,7 +177,7 @@ func Run(runOpts RunOptions) { listenerOpts = xnet.NewListenerOptions() ) - logger, err := cfg.Logging.BuildLogger() + logger, err := cfg.LoggingOrDefault().BuildLogger() if err != nil { // NB(r): Use fmt.Fprintf(os.Stderr, ...) to avoid etcd.SetGlobals() // sending stdlib "log" to black hole. Don't remove unless with good reason. @@ -209,7 +209,7 @@ func Run(runOpts RunOptions) { } prometheusEngineRegistry := extprom.NewRegistry() - scope, closer, reporters, err := cfg.Metrics.NewRootScopeAndReporters( + scope, closer, reporters, err := cfg.MetricsOrDefault().NewRootScopeAndReporters( instrument.NewRootScopeAndReportersOptions{ PrometheusExternalRegistries: []instrument.PrometheusExternalRegistry{ { From 896cd3ac9f7c2e954dc0415c552ceb5fa3638a72 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 00:00:55 -0500 Subject: [PATCH 24/41] test fixes 3 --- src/dbnode/discovery/config_test.go | 100 +++++++++------------------- 1 file changed, 30 insertions(+), 70 deletions(-) diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go index 8f0d283ad5..0a23d8a4e6 100644 --- a/src/dbnode/discovery/config_test.go +++ b/src/dbnode/discovery/config_test.go @@ -25,6 +25,7 @@ import ( "os" "testing" + "github.com/m3db/m3/src/dbnode/environment" xconfig "github.com/m3db/m3/src/x/config" "github.com/stretchr/testify/assert" ) @@ -35,23 +36,8 @@ type: m3db_single_node ` hostID := "test_id" + envConfig := getEnvConfig(t, in, hostID) - fd, err := ioutil.TempFile("", "config.yaml") - assert.NoError(t, err) - defer func() { - assert.NoError(t, fd.Close()) - assert.NoError(t, os.Remove(fd.Name())) - }() - - _, err = fd.Write([]byte(in)) - assert.NoError(t, err) - - var cfg Configuration - err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) - assert.NoError(t, err) - - envConfig, err := cfg.EnvironmentConfig(hostID) - assert.NoError(t, err) assert.Equal(t, 1, len(envConfig.Services)) assert.Equal(t, 1, len(envConfig.SeedNodes.InitialCluster)) @@ -82,23 +68,8 @@ m3dbCluster: ` hostID := "test_id" + envConfig := getEnvConfig(t, in, hostID) - fd, err := ioutil.TempFile("", "config.yaml") - assert.NoError(t, err) - defer func() { - assert.NoError(t, fd.Close()) - assert.NoError(t, os.Remove(fd.Name())) - }() - - _, err = fd.Write([]byte(in)) - assert.NoError(t, err) - - var cfg Configuration - err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) - assert.NoError(t, err) - - envConfig, err := cfg.EnvironmentConfig(hostID) - assert.NoError(t, err) assert.Equal(t, 1, len(envConfig.Services)) assert.Nil(t, envConfig.SeedNodes) @@ -118,41 +89,25 @@ func TestM3AggregatorClusterType(t *testing.T) { in := ` type: m3aggregator_cluster m3AggregatorCluster: - env: a - zone: b + env: c + zone: d endpoints: - end_1 - end_2 ` hostID := "test_id" + envConfig := getEnvConfig(t, in, hostID) - fd, err := ioutil.TempFile("", "config.yaml") - assert.NoError(t, err) - defer func() { - assert.NoError(t, fd.Close()) - assert.NoError(t, os.Remove(fd.Name())) - }() - - _, err = fd.Write([]byte(in)) - assert.NoError(t, err) - - var cfg Configuration - err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) - assert.NoError(t, err) - - envConfig, err := cfg.EnvironmentConfig(hostID) - assert.NoError(t, err) assert.Equal(t, 1, len(envConfig.Services)) assert.Nil(t, envConfig.SeedNodes) - s := envConfig.Services[0].Service assert.Equal(t, defaultM3AggregatorService, s.Service) - assert.Equal(t, "a", s.Env) - assert.Equal(t, "b", s.Zone) + assert.Equal(t, "c", s.Env) + assert.Equal(t, "d", s.Zone) assert.Equal(t, defaultCacheDirectory, s.CacheDir) assert.Equal(t, 1, len(s.ETCDClusters)) - assert.Equal(t, "b", s.ETCDClusters[0].Zone) + assert.Equal(t, "d", s.ETCDClusters[0].Zone) assert.Equal(t, 2, len(s.ETCDClusters[0].Endpoints)) assert.Equal(t, "end_1", s.ETCDClusters[0].Endpoints[0]) assert.Equal(t, "end_2", s.ETCDClusters[0].Endpoints[1]) @@ -177,23 +132,8 @@ config: ` hostID := "test_id" + envConfig := getEnvConfig(t, in, hostID) - fd, err := ioutil.TempFile("", "config.yaml") - assert.NoError(t, err) - defer func() { - assert.NoError(t, fd.Close()) - assert.NoError(t, os.Remove(fd.Name())) - }() - - _, err = fd.Write([]byte(in)) - assert.NoError(t, err) - - var cfg Configuration - err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) - assert.NoError(t, err) - - envConfig, err := cfg.EnvironmentConfig(hostID) - assert.NoError(t, err) assert.Equal(t, 1, len(envConfig.Services)) assert.Equal(t, 1, len(envConfig.SeedNodes.InitialCluster)) @@ -211,3 +151,23 @@ config: assert.Equal(t, "http://127.0.0.1:2380", c.Endpoint) assert.Equal(t, "host_id", c.HostID) } + +func getEnvConfig(t *testing.T, in string, hostID string) environment.Configuration { + fd, err := ioutil.TempFile("", "config.yaml") + assert.NoError(t, err) + defer func() { + assert.NoError(t, fd.Close()) + assert.NoError(t, os.Remove(fd.Name())) + }() + + _, err = fd.Write([]byte(in)) + assert.NoError(t, err) + + var cfg Configuration + err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) + assert.NoError(t, err) + + envConfig, err := cfg.EnvironmentConfig(hostID) + assert.NoError(t, err) + return envConfig +} From 803b8b5c8877cfb46a1a9f0904dbbd332a8c1b94 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 00:06:12 -0500 Subject: [PATCH 25/41] test fixes 4 --- src/cmd/services/m3dbnode/config/config.go | 6 +++--- src/cmd/services/m3query/config/config.go | 6 +++--- src/dbnode/server/server.go | 4 ++-- src/query/server/multi_process.go | 17 +++++++++-------- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 80f4f135eb..02da5c8147 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -221,12 +221,12 @@ func (c *DBConfiguration) LoggingOrDefault() xlog.Configuration { } // MetricsOrDefault returns metrics configuration or defaults. -func (c *DBConfiguration) MetricsOrDefault() instrument.MetricsConfiguration { +func (c *DBConfiguration) MetricsOrDefault() *instrument.MetricsConfiguration { if c.Metrics == nil { - return defaultMetrics + return &defaultMetrics } - return *c.Metrics + return c.Metrics } // ListenAddressOrDefault returns the listen address or default. diff --git a/src/cmd/services/m3query/config/config.go b/src/cmd/services/m3query/config/config.go index b65667cb49..093f490fc7 100644 --- a/src/cmd/services/m3query/config/config.go +++ b/src/cmd/services/m3query/config/config.go @@ -207,12 +207,12 @@ func (c *Configuration) LoggingOrDefault() xlog.Configuration { } // MetricsOrDefault returns the metrics config or default. -func (c *Configuration) MetricsOrDefault() instrument.MetricsConfiguration { +func (c *Configuration) MetricsOrDefault() *instrument.MetricsConfiguration { if c.Metrics != nil { - return *c.Metrics + return c.Metrics } - return defaultMetrics + return &defaultMetrics } // WriteWorkerPoolOrDefault returns the write worker pool config or default. diff --git a/src/dbnode/server/server.go b/src/dbnode/server/server.go index 0c2a20f0b6..6c3d03519d 100644 --- a/src/dbnode/server/server.go +++ b/src/dbnode/server/server.go @@ -231,7 +231,7 @@ func Run(runOpts RunOptions) { go bgValidateProcessLimits(logger) debug.SetGCPercent(cfg.GCPercentageOrDefault()) - scope, _, err := cfg.Metrics.NewRootScope() + scope, _, err := cfg.MetricsOrDefault().NewRootScope() if err != nil { logger.Fatal("could not connect to metrics", zap.Error(err)) } @@ -330,7 +330,7 @@ func Run(runOpts RunOptions) { // are constructed allowing for type to be picked // by the caller using instrument.NewTimer(...). timerOpts := instrument.NewHistogramTimerOptions(instrument.HistogramTimerOptions{}) - timerOpts.StandardSampleRate = cfg.Metrics.SampleRate() + timerOpts.StandardSampleRate = cfg.MetricsOrDefault().SampleRate() var ( opts = storage.NewOptions() diff --git a/src/query/server/multi_process.go b/src/query/server/multi_process.go index 2ce47b5bb7..dda1c0818b 100644 --- a/src/query/server/multi_process.go +++ b/src/query/server/multi_process.go @@ -78,18 +78,19 @@ func multiProcessRun( } // Set the root scope multi-process process ID. - if cfg.Metrics.RootScope == nil { - cfg.Metrics.RootScope = &instrument.ScopeConfiguration{} + metrics := cfg.MetricsOrDefault() + if metrics.RootScope == nil { + metrics.RootScope = &instrument.ScopeConfiguration{} } - if cfg.Metrics.RootScope.CommonTags == nil { - cfg.Metrics.RootScope.CommonTags = make(map[string]string) + if metrics.RootScope.CommonTags == nil { + metrics.RootScope.CommonTags = make(map[string]string) } - cfg.Metrics.RootScope.CommonTags[multiProcessMetricTagID] = multiProcessInstance + metrics.RootScope.CommonTags[multiProcessMetricTagID] = multiProcessInstance // Listen on a different Prometheus metrics handler listen port. - if cfg.Metrics.PrometheusReporter != nil && cfg.Metrics.PrometheusReporter.ListenAddress != "" { + if metrics.PrometheusReporter != nil && metrics.PrometheusReporter.ListenAddress != "" { // Simply increment the listen address port by instance numbe - host, port, err := net.SplitHostPort(cfg.Metrics.PrometheusReporter.ListenAddress) + host, port, err := net.SplitHostPort(metrics.PrometheusReporter.ListenAddress) if err != nil { return multiProcessResult{}, fmt.Errorf("could not split host:port for metrics reporter: %v", err) @@ -103,7 +104,7 @@ func multiProcessRun( if portValue > 0 { // Increment port value by process ID if valid port. address := net.JoinHostPort(host, strconv.Itoa(portValue+instance-1)) - cfg.Metrics.PrometheusReporter.ListenAddress = address + metrics.PrometheusReporter.ListenAddress = address logger.Info("multi-process prometheus metrics reporter listen address configured", zap.String("address", address)) } From f9b8326e70839bf2018c15c6ba5baf84713c20ed Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 00:10:41 -0500 Subject: [PATCH 26/41] lint --- src/dbnode/discovery/config.go | 68 +++++++++++++--------------------- 1 file changed, 26 insertions(+), 42 deletions(-) diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index e112a9ecf6..5ee94f8fb2 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -144,9 +144,19 @@ func (c *Configuration) EnvironmentConfig( case M3DBSingleNodeType: return c.m3dbSingleNodeEnvConfig(hostID), nil case M3DBClusterType: - return c.M3DBCluster.envConfig() + return c.envConfig( + defaultM3DBService, + c.M3DBCluster.Zone, + c.M3DBCluster.Env, + c.M3DBCluster.Endpoints, + ) case M3AggregatorClusterType: - return c.M3AggregatorCluster.envConfig() + return c.envConfig( + defaultM3AggregatorService, + c.M3AggregatorCluster.Zone, + c.M3AggregatorCluster.Env, + c.M3AggregatorCluster.Endpoints, + ) } return environment.Configuration{}, fmt.Errorf("unrecognized discovery type: %d", c.Type) @@ -183,61 +193,35 @@ func (c *Configuration) m3dbSingleNodeEnvConfig( } } -func (c *M3DBClusterDiscoveryConfiguration) envConfig() (environment.Configuration, error) { - if c == nil { - return environment.Configuration{}, - errors.New("discovery type specified required m3dbCluster section") - } - - zone := defaultZone - if c.Zone != nil { - zone = *c.Zone - } - - return environment.Configuration{ - Services: []*environment.DynamicCluster{ - { - Service: &etcdclient.Configuration{ - Service: defaultM3DBService, - CacheDir: defaultCacheDirectory, - Zone: zone, - Env: c.Env, - ETCDClusters: []etcdclient.ClusterConfig{ - etcdclient.ClusterConfig{ - Zone: zone, - Endpoints: c.Endpoints, - }, - }, - }, - }, - }, - }, nil -} - -func (c *M3AggregatorClusterDiscoveryConfiguration) envConfig() ( +func (c *Configuration) envConfig( + service string, + zone *string, + env string, + endpoints []string, +) ( environment.Configuration, error) { if c == nil { return environment.Configuration{}, errors.New("discovery type specified required m3AggregatorCluster section") } - zone := defaultZone - if c.Zone != nil { - zone = *c.Zone + validZone := defaultZone + if zone != nil { + validZone = *zone } return environment.Configuration{ Services: []*environment.DynamicCluster{ { Service: &etcdclient.Configuration{ - Service: defaultM3AggregatorService, + Service: service, CacheDir: defaultCacheDirectory, - Zone: zone, - Env: c.Env, + Zone: validZone, + Env: env, ETCDClusters: []etcdclient.ClusterConfig{ etcdclient.ClusterConfig{ - Zone: zone, - Endpoints: c.Endpoints, + Zone: validZone, + Endpoints: endpoints, }, }, }, From af93c26edbd9b4dd68d66dbdb108a2a1836b7195 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 00:17:33 -0500 Subject: [PATCH 27/41] lint again --- .golangci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index 9f5e34f7c7..fe02d49e90 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -190,7 +190,6 @@ linters: - unparam - unused - varcheck - - wsl enable-all: false disable: - gomnd @@ -211,6 +210,9 @@ linters: - interfacer # Valid use for not explicitly setting every field when they are optional nil/empty. - exhaustivestruct + # We allow cuddling assignment following conditions because there are valid + # logical groupings for this use-case (e.g. when evaluating config values). + - wsl disable-all: false presets: # bodyclose, errcheck, gosec, govet, scopelint, staticcheck, typecheck From 4cbf248e0ca62ff8ea839347c1ea1f0ff8295a9d Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 01:05:18 -0500 Subject: [PATCH 28/41] more test fixes 1 --- src/cmd/services/m3dbnode/main/common_test.go | 2 -- src/cmd/services/m3dbnode/main/main_test.go | 2 -- src/dbnode/server/server.go | 19 +++++++++++++------ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/cmd/services/m3dbnode/main/common_test.go b/src/cmd/services/m3dbnode/main/common_test.go index c1f744f9e7..41ff613fda 100644 --- a/src/cmd/services/m3dbnode/main/common_test.go +++ b/src/cmd/services/m3dbnode/main/common_test.go @@ -1,5 +1,3 @@ -// +build big -// // Copyright (c) 2017 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/src/cmd/services/m3dbnode/main/main_test.go b/src/cmd/services/m3dbnode/main/main_test.go index 0bb417b2d7..b3cc5ed4f1 100644 --- a/src/cmd/services/m3dbnode/main/main_test.go +++ b/src/cmd/services/m3dbnode/main/main_test.go @@ -1,5 +1,3 @@ -// +build big -// // Copyright (c) 2017 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/src/dbnode/server/server.go b/src/dbnode/server/server.go index 6c3d03519d..0545a2348e 100644 --- a/src/dbnode/server/server.go +++ b/src/dbnode/server/server.go @@ -394,13 +394,16 @@ func Run(runOpts RunOptions) { SetLimitCheckEvery(cfg.Filesystem.ThroughputCheckEveryOrDefault())). SetWriteNewSeriesAsync(cfg.WriteNewSeriesAsyncOrDefault()). SetWriteNewSeriesBackoffDuration(cfg.WriteNewSeriesBackoffDurationOrDefault()) - if lruCfg := cfg.Cache.SeriesConfiguration().LRU; lruCfg != nil { + + cfgCache := cfg.CacheOrDefault() + + if lruCfg := cfgCache.SeriesConfiguration().LRU; lruCfg != nil { runtimeOpts = runtimeOpts.SetMaxWiredBlocks(lruCfg.MaxBlocks) } // Setup postings list cache. var ( - plCacheConfig = cfg.Cache.PostingsListConfiguration() + plCacheConfig = cfgCache.PostingsListConfiguration() plCacheSize = plCacheConfig.SizeOrDefault() plCacheOptions = index.PostingsListCacheOptions{ InstrumentOptions: opts.InstrumentOptions(). @@ -415,7 +418,7 @@ func Run(runOpts RunOptions) { // Setup index regexp compilation cache. m3ninxindex.SetRegexpCacheOptions(m3ninxindex.RegexpCacheOptions{ - Size: cfg.Cache.RegexpConfiguration().SizeOrDefault(), + Size: cfgCache.RegexpConfiguration().SizeOrDefault(), Scope: iopts.MetricsScope(), }) @@ -469,7 +472,11 @@ func Run(runOpts RunOptions) { opts = opts.SetRuntimeOptionsManager(runtimeOptsMgr) - policy := cfg.PoolingPolicy + policy, err := cfg.PoolingPolicyOrDefault() + if err != nil { + logger.Fatal("could not get pooling policy", zap.Error(err)) + } + tagEncoderPool := serialize.NewTagEncoderPool( serialize.NewTagEncoderOptions(), poolOptions( @@ -539,7 +546,7 @@ func Run(runOpts RunOptions) { } // Set the series cache policy. - seriesCachePolicy := cfg.Cache.SeriesConfiguration().Policy + seriesCachePolicy := cfgCache.SeriesConfiguration().Policy opts = opts.SetSeriesCachePolicy(seriesCachePolicy) // Apply pooling options. @@ -1532,7 +1539,7 @@ func withEncodingAndPoolingOptions( InstrumentOptions: iopts, ClockOptions: opts.ClockOptions(), } - lruCfg = cfg.Cache.SeriesConfiguration().LRU + lruCfg = cfg.CacheOrDefault().SeriesConfiguration().LRU ) if lruCfg != nil && lruCfg.EventsChannelSize > 0 { From 623cf5252889434dd452a6aa1a7bf467c12de236 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 01:05:58 -0500 Subject: [PATCH 29/41] more test fixes 2 --- src/cmd/services/m3dbnode/main/common_test.go | 2 ++ src/cmd/services/m3dbnode/main/main_test.go | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/cmd/services/m3dbnode/main/common_test.go b/src/cmd/services/m3dbnode/main/common_test.go index 41ff613fda..c1f744f9e7 100644 --- a/src/cmd/services/m3dbnode/main/common_test.go +++ b/src/cmd/services/m3dbnode/main/common_test.go @@ -1,3 +1,5 @@ +// +build big +// // Copyright (c) 2017 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/src/cmd/services/m3dbnode/main/main_test.go b/src/cmd/services/m3dbnode/main/main_test.go index b3cc5ed4f1..0bb417b2d7 100644 --- a/src/cmd/services/m3dbnode/main/main_test.go +++ b/src/cmd/services/m3dbnode/main/main_test.go @@ -1,3 +1,5 @@ +// +build big +// // Copyright (c) 2017 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy From 5b934fe935f5dd133fbd0a82e07dd34b4137d4ed Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 01:12:13 -0500 Subject: [PATCH 30/41] lint more --- src/dbnode/discovery/config_test.go | 57 ++++++++++++----------------- 1 file changed, 24 insertions(+), 33 deletions(-) diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go index 0a23d8a4e6..d76a4a262f 100644 --- a/src/dbnode/discovery/config_test.go +++ b/src/dbnode/discovery/config_test.go @@ -67,50 +67,23 @@ m3dbCluster: - end_2 ` - hostID := "test_id" - envConfig := getEnvConfig(t, in, hostID) - - assert.Equal(t, 1, len(envConfig.Services)) - assert.Nil(t, envConfig.SeedNodes) - - s := envConfig.Services[0].Service - assert.Equal(t, defaultM3DBService, s.Service) - assert.Equal(t, "a", s.Env) - assert.Equal(t, "b", s.Zone) - assert.Equal(t, defaultCacheDirectory, s.CacheDir) - assert.Equal(t, 1, len(s.ETCDClusters)) - assert.Equal(t, "b", s.ETCDClusters[0].Zone) - assert.Equal(t, 2, len(s.ETCDClusters[0].Endpoints)) - assert.Equal(t, "end_1", s.ETCDClusters[0].Endpoints[0]) - assert.Equal(t, "end_2", s.ETCDClusters[0].Endpoints[1]) + envConfig := getEnvConfig(t, in, "") + validateClusterConfig(t, envConfig, defaultM3DBService) } func TestM3AggregatorClusterType(t *testing.T) { in := ` type: m3aggregator_cluster m3AggregatorCluster: - env: c - zone: d + env: a + zone: b endpoints: - end_1 - end_2 ` - hostID := "test_id" - envConfig := getEnvConfig(t, in, hostID) - - assert.Equal(t, 1, len(envConfig.Services)) - assert.Nil(t, envConfig.SeedNodes) - s := envConfig.Services[0].Service - assert.Equal(t, defaultM3AggregatorService, s.Service) - assert.Equal(t, "c", s.Env) - assert.Equal(t, "d", s.Zone) - assert.Equal(t, defaultCacheDirectory, s.CacheDir) - assert.Equal(t, 1, len(s.ETCDClusters)) - assert.Equal(t, "d", s.ETCDClusters[0].Zone) - assert.Equal(t, 2, len(s.ETCDClusters[0].Endpoints)) - assert.Equal(t, "end_1", s.ETCDClusters[0].Endpoints[0]) - assert.Equal(t, "end_2", s.ETCDClusters[0].Endpoints[1]) + envConfig := getEnvConfig(t, in, "") + validateClusterConfig(t, envConfig, defaultM3AggregatorService) } func TestConfigType(t *testing.T) { @@ -171,3 +144,21 @@ func getEnvConfig(t *testing.T, in string, hostID string) environment.Configurat assert.NoError(t, err) return envConfig } + +func validateClusterConfig(t *testing.T, + envConfig environment.Configuration, + expectedService string, +) { + assert.Equal(t, 1, len(envConfig.Services)) + assert.Nil(t, envConfig.SeedNodes) + s := envConfig.Services[0].Service + assert.Equal(t, expectedService, s.Service) + assert.Equal(t, "a", s.Env) + assert.Equal(t, "b", s.Zone) + assert.Equal(t, defaultCacheDirectory, s.CacheDir) + assert.Equal(t, 1, len(s.ETCDClusters)) + assert.Equal(t, "b", s.ETCDClusters[0].Zone) + assert.Equal(t, 2, len(s.ETCDClusters[0].Endpoints)) + assert.Equal(t, "end_1", s.ETCDClusters[0].Endpoints[0]) + assert.Equal(t, "end_2", s.ETCDClusters[0].Endpoints[1]) +} From b6ca23aff4d0f19c2e7760571b9e4211688bdcc0 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 01:16:20 -0500 Subject: [PATCH 31/41] more test fixing --- src/dbnode/server/server.go | 49 +++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/src/dbnode/server/server.go b/src/dbnode/server/server.go index 0545a2348e..2a420c4742 100644 --- a/src/dbnode/server/server.go +++ b/src/dbnode/server/server.go @@ -205,12 +205,13 @@ func Run(runOpts RunOptions) { } // Parse file and directory modes - newFileMode, err := cfg.Filesystem.ParseNewFileMode() + cfgFilesystem := cfg.FilesystemOrDefault() + newFileMode, err := cfgFilesystem.ParseNewFileMode() if err != nil { logger.Fatal("could not parse new file mode", zap.Error(err)) } - newDirectoryMode, err := cfg.Filesystem.ParseNewDirectoryMode() + newDirectoryMode, err := cfgFilesystem.ParseNewDirectoryMode() if err != nil { logger.Fatal("could not parse new directory mode", zap.Error(err)) } @@ -221,7 +222,7 @@ func Run(runOpts RunOptions) { // If the process exits ungracefully, only the lock in memory will be removed, the lock // file will remain on the file system. When a dbnode starts after an ungracefully stop, // it will be able to acquire the lock despite the fact the the lock file exists. - lockPath := path.Join(cfg.Filesystem.FilePathPrefixOrDefault(), filePathPrefixLockFile) + lockPath := path.Join(cfgFilesystem.FilePathPrefixOrDefault(), filePathPrefixLockFile) fslock, err := lockfile.CreateAndAcquire(lockPath, newDirectoryMode) if err != nil { logger.Fatal("could not acquire lock", zap.String("path", lockPath), zap.Error(err)) @@ -367,7 +368,7 @@ func Run(runOpts RunOptions) { } defer buildReporter.Stop() - mmapCfg := cfg.Filesystem.MmapConfigurationOrDefault() + mmapCfg := cfgFilesystem.MmapConfigurationOrDefault() shouldUseHugeTLB := mmapCfg.HugeTLB.Enabled if shouldUseHugeTLB { // Make sure the host supports HugeTLB before proceeding with it to prevent @@ -390,13 +391,12 @@ func Run(runOpts RunOptions) { runtimeOpts := m3dbruntime.NewOptions(). SetPersistRateLimitOptions(ratelimit.NewOptions(). SetLimitEnabled(true). - SetLimitMbps(cfg.Filesystem.ThroughputLimitMbpsOrDefault()). - SetLimitCheckEvery(cfg.Filesystem.ThroughputCheckEveryOrDefault())). + SetLimitMbps(cfgFilesystem.ThroughputLimitMbpsOrDefault()). + SetLimitCheckEvery(cfgFilesystem.ThroughputCheckEveryOrDefault())). SetWriteNewSeriesAsync(cfg.WriteNewSeriesAsyncOrDefault()). SetWriteNewSeriesBackoffDuration(cfg.WriteNewSeriesBackoffDurationOrDefault()) cfgCache := cfg.CacheOrDefault() - if lruCfg := cfgCache.SeriesConfiguration().LRU; lruCfg != nil { runtimeOpts = runtimeOpts.SetMaxWiredBlocks(lruCfg.MaxBlocks) } @@ -500,46 +500,47 @@ func Run(runOpts RunOptions) { SetClockOptions(opts.ClockOptions()). SetInstrumentOptions(opts.InstrumentOptions(). SetMetricsScope(scope.SubScope("database.fs"))). - SetFilePathPrefix(cfg.Filesystem.FilePathPrefixOrDefault()). + SetFilePathPrefix(cfgFilesystem.FilePathPrefixOrDefault()). SetNewFileMode(newFileMode). SetNewDirectoryMode(newDirectoryMode). - SetWriterBufferSize(cfg.Filesystem.WriteBufferSizeOrDefault()). - SetDataReaderBufferSize(cfg.Filesystem.DataReadBufferSizeOrDefault()). - SetInfoReaderBufferSize(cfg.Filesystem.InfoReadBufferSizeOrDefault()). - SetSeekReaderBufferSize(cfg.Filesystem.SeekReadBufferSizeOrDefault()). + SetWriterBufferSize(cfgFilesystem.WriteBufferSizeOrDefault()). + SetDataReaderBufferSize(cfgFilesystem.DataReadBufferSizeOrDefault()). + SetInfoReaderBufferSize(cfgFilesystem.InfoReadBufferSizeOrDefault()). + SetSeekReaderBufferSize(cfgFilesystem.SeekReadBufferSizeOrDefault()). SetMmapEnableHugeTLB(shouldUseHugeTLB). SetMmapHugeTLBThreshold(mmapCfg.HugeTLB.Threshold). SetRuntimeOptionsManager(runtimeOptsMgr). SetTagEncoderPool(tagEncoderPool). SetTagDecoderPool(tagDecoderPool). - SetForceIndexSummariesMmapMemory(cfg.Filesystem.ForceIndexSummariesMmapMemoryOrDefault()). - SetForceBloomFilterMmapMemory(cfg.Filesystem.ForceBloomFilterMmapMemoryOrDefault()). - SetIndexBloomFilterFalsePositivePercent(cfg.Filesystem.BloomFilterFalsePositivePercentOrDefault()). + SetForceIndexSummariesMmapMemory(cfgFilesystem.ForceIndexSummariesMmapMemoryOrDefault()). + SetForceBloomFilterMmapMemory(cfgFilesystem.ForceBloomFilterMmapMemoryOrDefault()). + SetIndexBloomFilterFalsePositivePercent(cfgFilesystem.BloomFilterFalsePositivePercentOrDefault()). SetMmapReporter(mmapReporter) var commitLogQueueSize int - specified := cfg.CommitLog.Queue.Size - switch cfg.CommitLog.Queue.CalculationType { + cfgCommitLog := cfg.CommitLogOrDefault() + specified := cfgCommitLog.Queue.Size + switch cfgCommitLog.Queue.CalculationType { case config.CalculationTypeFixed: commitLogQueueSize = specified case config.CalculationTypePerCPU: commitLogQueueSize = specified * runtime.NumCPU() default: logger.Fatal("unknown commit log queue size type", - zap.Any("type", cfg.CommitLog.Queue.CalculationType)) + zap.Any("type", cfgCommitLog.Queue.CalculationType)) } var commitLogQueueChannelSize int - if cfg.CommitLog.QueueChannel != nil { - specified := cfg.CommitLog.QueueChannel.Size - switch cfg.CommitLog.Queue.CalculationType { + if cfgCommitLog.QueueChannel != nil { + specified := cfgCommitLog.QueueChannel.Size + switch cfgCommitLog.Queue.CalculationType { case config.CalculationTypeFixed: commitLogQueueChannelSize = specified case config.CalculationTypePerCPU: commitLogQueueChannelSize = specified * runtime.NumCPU() default: logger.Fatal("unknown commit log queue channel size type", - zap.Any("type", cfg.CommitLog.Queue.CalculationType)) + zap.Any("type", cfgCommitLog.Queue.CalculationType)) } } else { commitLogQueueChannelSize = int(float64(commitLogQueueSize) / commitlog.MaximumQueueSizeQueueChannelSizeRatio) @@ -560,8 +561,8 @@ func Run(runOpts RunOptions) { SetInstrumentOptions(opts.InstrumentOptions()). SetFilesystemOptions(fsopts). SetStrategy(commitlog.StrategyWriteBehind). - SetFlushSize(cfg.CommitLog.FlushMaxBytes). - SetFlushInterval(cfg.CommitLog.FlushEvery). + SetFlushSize(cfgCommitLog.FlushMaxBytes). + SetFlushInterval(cfgCommitLog.FlushEvery). SetBacklogQueueSize(commitLogQueueSize). SetBacklogQueueChannelSize(commitLogQueueChannelSize)) From 64bba797c1da9b079439b3cd4db40f9742c00525 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 01:21:27 -0500 Subject: [PATCH 32/41] remove lint we do not want --- .golangci.yml | 6 +++++- src/dbnode/discovery/config.go | 18 +++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 2d89b4ac65..fe02d49e90 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -190,7 +190,6 @@ linters: - unparam - unused - varcheck - - wsl enable-all: false disable: - gomnd @@ -209,6 +208,11 @@ linters: - nolintlint # Deprecated project due to being prone to bad suggestions. - interfacer + # Valid use for not explicitly setting every field when they are optional nil/empty. + - exhaustivestruct + # We allow cuddling assignment following conditions because there are valid + # logical groupings for this use-case (e.g. when evaluating config values). + - wsl disable-all: false presets: # bodyclose, errcheck, gosec, govet, scopelint, staticcheck, typecheck diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index 5ee94f8fb2..1c5edb6644 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -40,19 +40,19 @@ const ( defaultDiscoveryConfigType = ConfigType ) -var validDiscoveryConfigTypes = []DiscoveryConfigurationType{ +var validDiscoveryConfigTypes = []ConfigurationType{ ConfigType, M3DBSingleNodeType, M3DBClusterType, M3AggregatorClusterType, } -// DiscoveryConfigurationType defines the type of discovery configuration. -type DiscoveryConfigurationType uint +// ConfigurationType defines the type of discovery configuration. +type ConfigurationType uint const ( // ConfigType defines a generic definition for service discovery via etcd. - ConfigType DiscoveryConfigurationType = iota + ConfigType ConfigurationType = iota // M3DBSingleNodeType defines configuration for a single M3DB node via etcd. M3DBSingleNodeType // M3DBClusterType defines M3DB discovery via etcd. @@ -61,8 +61,8 @@ const ( M3AggregatorClusterType ) -// UnmarshalYAML unmarshals an DiscoveryConfigurationType into a valid type from string. -func (t *DiscoveryConfigurationType) UnmarshalYAML(unmarshal func(interface{}) error) error { +// UnmarshalYAML unmarshals an ConfigurationType into a valid type from string. +func (t *ConfigurationType) UnmarshalYAML(unmarshal func(interface{}) error) error { var str string if err := unmarshal(&str); err != nil { return err @@ -80,12 +80,12 @@ func (t *DiscoveryConfigurationType) UnmarshalYAML(unmarshal func(interface{}) e return nil } } - return fmt.Errorf("invalid DiscoveryConfigurationType '%s' valid types are: %s", + return fmt.Errorf("invalid ConfigurationType '%s' valid types are: %s", str, validDiscoveryConfigTypes) } // String returns the discovery configuration type as a string. -func (t DiscoveryConfigurationType) String() string { +func (t ConfigurationType) String() string { switch t { case ConfigType: return "config" @@ -102,7 +102,7 @@ func (t DiscoveryConfigurationType) String() string { // Configuration defines how services are to be discovered. type Configuration struct { // Type defines the type of discovery configuration being used. - Type *DiscoveryConfigurationType `yaml:"type"` + Type *ConfigurationType `yaml:"type"` // M3DBCluster defines M3DB discovery via etcd. M3DBCluster *M3DBClusterDiscoveryConfiguration `yaml:"m3dbCluster"` From 38efe1d83bafd2f50ed63bdba527907d420eb582 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 01:37:27 -0500 Subject: [PATCH 33/41] more lint --- go.mod | 10 +- go.sum | 190 ++++++++++++++++++++++++++++ src/dbnode/discovery/config.go | 14 +- src/dbnode/discovery/config_test.go | 1 + 4 files changed, 201 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index 8e46e640e9..7d9ccea77c 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,6 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d // indirect github.com/DataDog/datadog-go v3.7.1+incompatible // indirect - github.com/Masterminds/semver v1.5.0 // indirect github.com/MichaelTJones/pcg v0.0.0-20180122055547-df440c6ed7ed github.com/Microsoft/go-winio v0.4.14 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect @@ -24,7 +23,6 @@ require ( github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f github.com/davecgh/go-spew v1.1.1 github.com/docker/go-connections v0.4.0 // indirect - github.com/fatih/color v1.10.0 // indirect github.com/fortytw2/leaktest v1.2.1-0.20180901000122-b433bbd6d743 github.com/fossas/fossa-cli v1.0.30 github.com/garethr/kubeval v0.0.0-20180821130434-c44f5193dc94 @@ -37,6 +35,7 @@ require ( github.com/golang/mock v1.4.4 github.com/golang/protobuf v1.4.2 github.com/golang/snappy v0.0.1 + github.com/golangci/golangci-lint v1.32.2 // indirect github.com/google/go-cmp v0.5.2 github.com/google/go-jsonnet v0.16.0 github.com/google/uuid v1.1.2-0.20190416172445-c2e93f3ae59f // indirect @@ -48,7 +47,6 @@ require ( github.com/influxdata/influxdb v1.7.7 github.com/jhump/protoreflect v1.6.1 github.com/json-iterator/go v1.1.9 - github.com/kr/text v0.2.0 // indirect github.com/leanovate/gopter v0.2.8 github.com/lib/pq v1.6.0 // indirect github.com/lightstep/lightstep-tracer-go v0.18.1 @@ -67,9 +65,6 @@ require ( github.com/m3dbx/vellum v0.0.0-20200826162549-f94c029903de github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885 github.com/mjibson/esc v0.1.0 - github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect - github.com/onsi/ginkgo v1.14.1 // indirect - github.com/onsi/gomega v1.10.2 // indirect github.com/opencontainers/image-spec v1.0.1 // indirect github.com/opencontainers/runc v0.1.1 // indirect github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9 @@ -95,7 +90,6 @@ require ( github.com/satori/go.uuid v1.2.0 github.com/sergi/go-diff v1.1.0 github.com/shirou/gopsutil v2.20.5+incompatible // indirect - github.com/sirupsen/logrus v1.7.0 // indirect github.com/spf13/cast v1.3.1-0.20190531151931-f31dc0aaab5a // indirect github.com/spf13/cobra v1.1.1 github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -125,7 +119,6 @@ require ( golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 google.golang.org/grpc v1.29.1 - gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect gopkg.in/go-ini/ini.v1 v1.57.0 // indirect gopkg.in/go-playground/assert.v1 v1.2.1 // indirect gopkg.in/go-playground/validator.v9 v9.7.0 @@ -135,7 +128,6 @@ require ( gopkg.in/vmihailenco/msgpack.v2 v2.8.3 gopkg.in/yaml.v2 v2.3.0 gotest.tools v2.2.0+incompatible - honnef.co/go/tools v0.0.1-2020.1.6 // indirect ) // branch 0.9.3-pool-read-binary-3 diff --git a/go.sum b/go.sum index 2971417542..9b894ed15d 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a h1:wFEQiK85fRsEVF0CRrPAos5LoAryUsIX1kPW/WrIqFw= +4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= @@ -37,6 +39,8 @@ github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d/go.mod h1:Rn2zM2M github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go v3.7.1+incompatible h1:HmA9qHVrHIAqpSvoCYJ+c6qst0lgqEhNW6/KwfkHbS8= github.com/DataDog/datadog-go v3.7.1+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5 h1:XTrzB+F8+SpRmbhAH8HLxhiiG6nYNwaBZjrFps1oWEk= +github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -51,6 +55,8 @@ github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= +github.com/OpenPeeDeeP/depguard v1.0.1 h1:VlW4R6jmBIv3/u1JNlawEvJMM4J+dPORPaZasQee8Us= +github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -74,6 +80,7 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5 h1:P5U+E4x5OkVEKQDklVPmzs71WM56RTTRqV4OrDC//Y4= github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5/go.mod h1:976q2ETgjT2snVCf2ZaBnyBbVoPERGjUz+0sofzEfro= +github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= @@ -112,6 +119,8 @@ github.com/bmatcuk/doublestar v1.3.1 h1:rT8rxDPsavp9G+4ZULzqhhUSaI/OPsTZNG88Z3i0 github.com/bmatcuk/doublestar v1.3.1/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b h1:AP/Y7sqYicnjGDfD5VcY4CIfh1hRXBUavxrvELjTiOE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q= +github.com/bombsimon/wsl/v3 v3.1.0 h1:E5SRssoBgtVFPcYWUOFJEcgaySgdtTNYzsSKDOY7ss8= +github.com/bombsimon/wsl/v3 v3.1.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/briandowns/spinner v1.11.1 h1:OixPqDEcX3juo5AjQZAnFPbeUA0jvkp2qzB5gOZJ/L0= github.com/briandowns/spinner v1.11.1/go.mod h1:QOuQk7x+EaDASo80FEXwlwiA+j/PPIcX3FScO+3/ZPQ= github.com/c2h5oh/datasize v0.0.0-20171227191756-4eba002a5eae h1:2Zmk+8cNvAGuY8AyvZuWpUdpQUAXwfom4ReVMe/CTIo= @@ -164,6 +173,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/daixiang0/gci v0.2.4 h1:BUCKk5nlK2m+kRIsoj+wb/5hazHvHeZieBKWd9Afa8Q= +github.com/daixiang0/gci v0.2.4/go.mod h1:+AV8KmHTGxxwp/pY84TLQfFKp2vuKXXJVzF3kD/hfR4= github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -173,6 +184,8 @@ github.com/daviddengcn/go-assert v0.0.0-20150305222929-ba7e68aeeff6 h1:OPIYL/VhQ github.com/daviddengcn/go-assert v0.0.0-20150305222929-ba7e68aeeff6/go.mod h1:N+OekMaElW3rSAfDdNX6Dff3HS237/OhC08jYFW4oCw= github.com/daviddengcn/go-villa v0.0.0-20160111144444-3f35da8ba982 h1:2Trx4ntMtxmus9nN2w1PIqJOI8jB3RjlnDnFm/ImlIU= github.com/daviddengcn/go-villa v0.0.0-20160111144444-3f35da8ba982/go.mod h1:U8xNoHcXfPnZzy9zCxeKRjaJgC1d3613rFHjZVVAqKc= +github.com/denis-tingajkin/go-header v0.3.1 h1:ymEpSiFjeItCy1FOP+x0M2KdCELdEAHUsNa8F+hHc6w= +github.com/denis-tingajkin/go-header v0.3.1/go.mod h1:sq/2IxMhaZX+RRcgHfCRx/m0M5na0fBt4/CRe7Lrji0= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= @@ -234,6 +247,8 @@ github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 h1:gclg6gY70GLy github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/gnewton/jargo v0.0.0-20150417131352-41f5f186a805 h1:rLZXvVgFIon3lI+v9IL8t1AmG9/yLMSRB5LQ0frn+6Q= github.com/gnewton/jargo v0.0.0-20150417131352-41f5f186a805/go.mod h1:x+HLDnZexLq1FmhrdgFf4c3EWGbqhU3ITvISBFyzvRo= +github.com/go-critic/go-critic v0.5.2 h1:3RJdgf6u4NZUumoP8nzbqiiNT8e1tC2Oc7jlgqre/IA= +github.com/go-critic/go-critic v0.5.2/go.mod h1:cc0+HvdE3lFpqLecgqMaJcvWWH77sLdBp+wLGPM1Yyo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -293,6 +308,29 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= +github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= +github.com/go-toolsmith/astcopy v1.0.0 h1:OMgl1b1MEpjFQ1m5ztEO06rz5CUd3oBv9RF7+DyvdG8= +github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= +github.com/go-toolsmith/astequal v1.0.0 h1:4zxD8j3JRFNyLN46lodQuqz3xdKSrur7U/sr0SDS/gQ= +github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= +github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= +github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= +github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= +github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= +github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= +github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc= +github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= +github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= +github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= +github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gofrs/flock v0.8.0 h1:MSdYClljsF3PbENUUEx85nkWfJSGfzYI9yEBZOJz6CY= +github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -328,6 +366,36 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= +github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6 h1:YYWNAGTKWhKpcLLt7aSj/odlKrSrelQwlovBpDuf19w= +github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0= +github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613 h1:9kfjN3AdxcbsZBf8NjltjWihK2QfBBBZuv91cMFfDHw= +github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8= +github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3 h1:pe9JHs3cHHDQgOFXJJdYkK6fLz2PWyYtP4hthoCMvs8= +github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o= +github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d h1:pXTK/gkVNs7Zyy7WKgLXmpQ5bHTrq5GDsp8R9Qs67g0= +github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= +github.com/golangci/golangci-lint v1.32.2 h1:CgIeFWTLJ3Nt1w/WU1RO351j/CjN6LIVjppbJfI9nMk= +github.com/golangci/golangci-lint v1.32.2/go.mod h1:ydr+IqtIVyAh72L16aK0bNdNg/YGa+AEgdbKj9MluzI= +github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc h1:gLLhTLMk2/SutryVJ6D4VZCU3CUqr8YloG7FPIBWFpI= +github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= +github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770 h1:EL/O5HGrF7Jaq0yNhBLucz9hTuRzj2LdwGBOaENgxIk= +github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= +github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21 h1:leSNB7iYzLYSSx3J/s5sVf4Drkc68W2wm4Ixh/mr0us= +github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI= +github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0 h1:HVfrLniijszjS1aiNg8JbBMO2+E1WIQ+j/gL4SQqGPg= +github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450 h1:7xqw01UYS+KCI25bMrPxwNYkSns2Db1ziQPpVq99FpE= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho= github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995 h1:f5gsjBiF9tRRVomCvrkGMMWI8W1f2OBFar2c5oakAP0= @@ -344,6 +412,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github/v30 v30.1.0 h1:VLDx+UolQICEOKu2m4uAoMti1SxuEBAl7RSEG16L+Oo= @@ -366,6 +435,7 @@ github.com/google/uuid v1.1.2-0.20190416172445-c2e93f3ae59f/go.mod h1:TIyPZe4Mgq github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/gookit/color v1.3.1/go.mod h1:R3ogXq2B9rTbXoSHJ1HyUVAZ3poOJHpd9nQmyGZsfvQ= github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gophercloud/gophercloud v0.8.0/go.mod h1:Kc/QKr9thLKruO/dG0szY8kRIYS+iENz0ziI0hJf76A= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -385,6 +455,12 @@ github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/z github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= +github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= +github.com/gostaticanalysis/analysisutil v0.1.0 h1:E4c8Y1EQURbBEAHoXc/jBTK7Np14ArT8NPUiSFOl9yc= +github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= +github.com/gostaticanalysis/comment v1.3.0 h1:wTVgynbFu8/nz6SGgywA0TcyIoAVsYc7ai/Zp5xNGlw= +github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -482,7 +558,13 @@ github.com/jcmturner/rpc/v2 v2.0.2/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJk github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.6.1 h1:4/2yi5LyDPP7nN+Hiird1SAJ6YoxUm13/oxHGRnbPd8= github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= +github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a h1:GmsqmapfzSJkm28dhRoHz2tLRbJmqhU86IPgBtN3mmk= +github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a/go.mod h1:xRskid8CManxVta/ALEhJha/pweKBaVG6fWgc0yH25s= +github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3 h1:jNYPNLe3d8smommaoQlK7LOA5ESyUJJ+Wf79ZtA7Vp4= +github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= @@ -503,8 +585,11 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= @@ -517,14 +602,18 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kyoh86/exportloopref v0.1.7 h1:u+iHuTbkbTS2D/JP7fCuZDo/t3rBVGo3Hf58Rc+lQVY= +github.com/kyoh86/exportloopref v0.1.7/go.mod h1:h1rDl2Kdj97+Kwh4gdz3ujE7XHmH51Q0lUiZ1z4NLj8= github.com/leanovate/gopter v0.2.8 h1:eFPtJ3aa5zLfbxGROSNY75T9Dume60CWBAqoWQ3h/ig= github.com/leanovate/gopter v0.2.8/go.mod h1:gNcbPWNEWRe4lm+bycKqxUYoH5uoVje5SkOJ3uoLer8= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.6.0 h1:I5DPxhYJChW9KYc66se+oKFFQX6VuQrKiprsX6ivRZc= github.com/lib/pq v1.6.0/go.mod h1:4vXEAYvW1fRQ2/FhZ78H73A60MHw1geSm145z2mdY1g= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/m3db/bitset v2.0.0+incompatible h1:wMgri1Z2QSwJ8K/7ZuV7vE4feLOT7EofVC8RakIOybI= github.com/m3db/bitset v2.0.0+incompatible/go.mod h1:X8CCqZmZxs2O6d4qHhiqtAKCin4G5mScPhiwX9rsc5c= @@ -567,6 +656,10 @@ github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= +github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= +github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb h1:RHba4YImhrUVQDHUCe2BNSOz4tVy2yGyXhvYDvxGgeE= +github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -584,10 +677,14 @@ github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHX github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885 h1:nCU/HIvsORu8nlebFTTkEpxao5zA/yt5Y4yQccm34bM= github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885/go.mod h1:wRyVMWiOZeVj+MieWS5tIBBtJ3RtqqMbPsA5Z+t5b5U= +github.com/mbilski/exhaustivestruct v1.1.0 h1:4ykwscnAFeHJruT+EY3M3vdeP8uXMh0VV2E61iR7XD8= +github.com/mbilski/exhaustivestruct v1.1.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= @@ -597,6 +694,7 @@ github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceT github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= @@ -616,12 +714,17 @@ github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lN github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= +github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= +github.com/mozilla/tls-observatory v0.0.0-20200317151703-4fa42e1c2dee/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae h1:VeRdUYdCw49yizlSbMEn2SZ+gT+3IUKx8BqxyQdz+BY= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/nakabonne/nestif v0.3.0 h1:+yOViDGhg8ygGrmII72nV9B/zGxY188TYpfolntsaPw= +github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -629,8 +732,12 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d h1:AREM5mwr4u1ORQBMvzfzBgpsctsbQikCVpvC+tX285E= +github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nishanths/exhaustive v0.1.0 h1:kVlMw8h2LHPMGUVqUj6230oQjjTMFjwcZrnkhXzFfl8= +github.com/nishanths/exhaustive v0.1.0/go.mod h1:S1j9110vxV1ECdCudXRkeMnFQ/DQk9ajLT0Uf2MYZQQ= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= @@ -696,6 +803,8 @@ github.com/pelletier/go-toml v1.5.0 h1:5BakdOZdtKJ1FFk6QdL8iSGrMWsXgchNJcrnarjbm github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -716,6 +825,8 @@ github.com/pointlander/jetset v1.0.0 h1:bNlaNAX7cDPID9SlcogmXlDWq0KcRJSpKwHXaAM3 github.com/pointlander/jetset v1.0.0/go.mod h1:zY6+WHRPB10uzTajloHtybSicLW1bf6Rz0eSaU9Deng= github.com/pointlander/peg v1.0.0 h1:rtCtA6Fu6xJpILX8WJfU+cvrcKmXgTfG/v+bkLP8NYY= github.com/pointlander/peg v1.0.0/go.mod h1:WJTMcgeWYr6fZz4CwHnY1oWZCXew8GWCF93FaAxPrh4= +github.com/polyfloyd/go-errorlint v0.0.0-20201006195004-351e25ade6e3 h1:Amgs0nbayPhBNGh1qPqqr2e7B2qNAcBgRjnBH/lmn8k= +github.com/polyfloyd/go-errorlint v0.0.0-20201006195004-351e25ade6e3/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prashantv/protectmem v0.0.0-20171002184600-e20412882b3a h1:AA9vgIBDjMHPC2McaGPojgV2dcI78ZC0TLNhYCXEKH8= github.com/prashantv/protectmem v0.0.0-20171002184600-e20412882b3a/go.mod h1:lzZQ3Noex5pfAy7mkAeCjcBDteYU85uWWnJ/y6gKU8k= @@ -748,6 +859,11 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx github.com/prometheus/prometheus v1.8.2-0.20200420081721-18254838fbe2 h1:JtWnHSHMC1h8mb6K5GsFzmhY/WMILsxQ4slsJu+lyg8= github.com/prometheus/prometheus v1.8.2-0.20200420081721-18254838fbe2/go.mod h1:ZnfuiMn3LNsry2q7ECmRe4WcscxmJSd2dIFpOi4w3lM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= +github.com/quasilyte/go-ruleguard v0.2.0 h1:UOVMyH2EKkxIfzrULvA9n/tO+HtEhqD9mrLSWMr5FwU= +github.com/quasilyte/go-ruleguard v0.2.0/go.mod h1:2RT/tf0Ce0UDj5y243iWKosQogJd8+1G3Rs2fxmlYnw= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/rakyll/statik v0.1.6 h1:uICcfUXpgqtw2VopbIncslhAmE5hwc4g20TEyEENBNs= github.com/rakyll/statik v0.1.6/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -761,6 +877,8 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= @@ -768,6 +886,10 @@ github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rveen/ogdl v0.0.0-20200522080342-eeeda1a978e7 h1:Lftq+hHvm0kPWM1sDNqx1jkXAo1zw2YceoFo1hdyj7I= github.com/rveen/ogdl v0.0.0-20200522080342-eeeda1a978e7/go.mod h1:9fqUB54wJS9u5TSXJZhRfTdh1lXVxTytDjed7t2cNdw= +github.com/ryancurrah/gomodguard v1.1.0 h1:DWbye9KyMgytn8uYpuHkwf0RHqAYO6Ay/D0TbCpPtVU= +github.com/ryancurrah/gomodguard v1.1.0/go.mod h1:4O8tr7hBODaGE6VIhfJDHcwzh5GUccKSJBU0UMXJFVM= +github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= +github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -778,13 +900,20 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUt github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seborama/govcr v2.2.1+incompatible h1:rELLpGxrv9ahY6zC5ruwNJtbNaSYsIC5VE9q7pI/+3I= github.com/seborama/govcr v2.2.1+incompatible/go.mod h1:EgcISudCCYDLzbiAImJ8i7kk4+wTA44Kp+j4S0LhASI= +github.com/securego/gosec/v2 v2.5.0 h1:kjfXLeKdk98gBe2+eYRFMpC4+mxmQQtbidpiiOQ69Qc= +github.com/securego/gosec/v2 v2.5.0/go.mod h1:L/CDXVntIff5ypVHIkqPXbtRpJiNCh6c6Amn68jXDjo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= +github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= github.com/shirou/gopsutil v2.17.13-0.20180801053943-8048a2e9c577+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v2.20.5+incompatible h1:tYH07UPoQt0OCQdgWWMgYHy3/a9bcxNpBIysykNIP7I= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= @@ -793,6 +922,7 @@ github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvH github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -804,7 +934,11 @@ github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9 github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= +github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= +github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= @@ -837,6 +971,8 @@ github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= +github.com/ssgreg/nlreturn/v2 v2.1.0 h1:6/s4Rc49L6Uo6RLjhWZGBpWWjfzk2yrf1nIW8m4wgVA= +github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -852,7 +988,13 @@ github.com/subosito/gotenv v1.2.1-0.20190917103637-de67a6614a4d h1:YN4gX82mT31qs github.com/subosito/gotenv v1.2.1-0.20190917103637-de67a6614a4d/go.mod h1:GVSeM7r0P1RI1gOKYyN9IuNkhMmQwKGsjVf3ulDrdzo= github.com/tcnksm/go-gitconfig v0.1.2 h1:iiDhRitByXAEyjgBqsKi9QU4o2TNtv9kPP3RgPgXBPw= github.com/tcnksm/go-gitconfig v0.1.2/go.mod h1:/8EhP4H7oJZdIPyT+/UIsG87kTzrzM4UsLGSItWYCpE= +github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2 h1:Xr9gkxfOP0KQWXKNqmwe8vEeSUiUj4Rlee9CMVX2ZUQ= +github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= +github.com/tetafro/godot v0.4.9 h1:dSOiuasshpevY73eeI3+zaqFnXSBKJ3mvxbyhh54VRo= +github.com/tetafro/godot v0.4.9/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e h1:RumXZ56IrCj4CL+g1b9OL/oH0QnsF976bC8xQFYUD5Q= +github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tj/assert v0.0.0-20171129193455-018094318fb0 h1:Rw8kxzWo1mr6FSaYXjQELRe88y2KdfynXdnK72rdjtA= @@ -863,6 +1005,10 @@ github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKw github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d h1:3EZyvNUMsGD1QA8cu0STNn1L7I77rvhf2IhOcHYQhSw= +github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d/go.mod h1:yiFB6fFoV7saXirUGfuK+cPtUh4NX/Hf5y2WC2lehu0= +github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa h1:RC4maTWLKKwb7p1cnoygsbKIgNlJqSYBeAFON3Ar8As= +github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/twmb/murmur3 v1.1.4 h1:NnlAxelwOgdQDmYuV0T/K+tpDQ/8wdsDVOGmvUqBOCw= github.com/twmb/murmur3 v1.1.4/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ= @@ -879,9 +1025,18 @@ github.com/uber/tchannel-go v1.14.0/go.mod h1:Rrgz1eL8kMjW/nEzZos0t+Heq0O4LhnUJV github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ulikunitz/xz v0.5.5 h1:pFrO0lVpTBXLpYw+pnLj6TbvHuyjXMfjGeCwSqCVwok= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= +github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= +github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= +github.com/ultraware/whitespace v0.0.4 h1:If7Va4cM03mpgrNH9k49/VOicWpGoG70XPBFFODYDsg= +github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/uudashr/gocognit v1.0.1 h1:MoG2fZ0b/Eo7NXoIwCVFLG5JED3qgQz5/NEE+rOsjPs= +github.com/uudashr/gocognit v1.0.1/go.mod h1:j44Ayx2KW4+oB6SWMv8KsmHzZrOInQav7D3cQMJ5JUM= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= +github.com/valyala/quicktemplate v1.6.3/go.mod h1:fwPzK2fHuYEODzJ9pkw0ipCPNHZ2tD5KW4lOuSdPKzY= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a h1:0R4NLDRDZX6JcmhJgXi5E4b8Wg84ihbmUKp/GvSPEzc= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/vmihailenco/msgpack v2.8.3+incompatible h1:76LCLwxS08gKHRpGA10PBxfWk72JfUH6mgzp2+URwYM= @@ -902,7 +1057,9 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= @@ -1011,6 +1168,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1042,15 +1201,21 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1064,20 +1229,37 @@ golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDq golang.org/x/tools v0.0.0-20190813034749-528a2984e271/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191104232314-dc038396d1f0/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191203134012-c197fd4bf371/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200305205014-bc073721adb6/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200321224714-0d839f3cf2ed/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200410194907-79a7a3126eef/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b h1:zSzQJAznWxAh9fZxiPy2FZo+ZZEYoYFYYDYdOrU7AaM= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200731060945-b5fad4ed8dd6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201007032633-0806396f153e/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201011145850-ed2f50202694/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 h1:2ntEwh02rqo2jSsrYmp4yKHHjh0CbXP3ZtSUetSB+q8= golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1216,6 +1398,14 @@ k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +mvdan.cc/gofumpt v0.0.0-20200802201014-ab5a8192947d h1:t8TAw9WgTLghti7RYkpPmqk4JtQ3+wcP5GgZqgWeWLQ= +mvdan.cc/gofumpt v0.0.0-20200802201014-ab5a8192947d/go.mod h1:bzrjFmaD6+xqohD3KYP0H2FEuxknnBmyyOxdhLdaIws= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= +mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7 h1:kAREL6MPwpsk1/PQPFD3Eg7WAQR5mPTWZJaBiG5LDbY= +mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7/go.mod h1:HGC5lll35J70Y5v7vCGb9oLhHoScFwkHDJm/05RdSTc= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index 1c5edb6644..399056ae14 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -18,14 +18,16 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +// Package discovery provides discovery configuration. package discovery import ( "errors" "fmt" - etcdclient "github.com/m3db/m3/src/cluster/client/etcd" "github.com/m3db/m3/src/dbnode/environment" + + etcdclient "github.com/m3db/m3/src/cluster/client/etcd" ) const ( @@ -36,8 +38,6 @@ const ( defaultCacheDirectory = "/var/lib/m3kv" defaultSingleNodeClusterEndpoint = "127.0.0.1:2379" defaultSingleNodeClusterSeedEndpoint = "127.0.0.1:2380" - - defaultDiscoveryConfigType = ConfigType ) var validDiscoveryConfigTypes = []ConfigurationType{ @@ -70,16 +70,19 @@ func (t *ConfigurationType) UnmarshalYAML(unmarshal func(interface{}) error) err // If unspecified, use default mode. if str == "" { - *t = defaultDiscoveryConfigType + *t = ConfigType + return nil } for _, valid := range validDiscoveryConfigTypes { if str == valid.String() { *t = valid + return nil } } + return fmt.Errorf("invalid ConfigurationType '%s' valid types are: %s", str, validDiscoveryConfigTypes) } @@ -96,6 +99,7 @@ func (t ConfigurationType) String() string { case M3AggregatorClusterType: return "m3aggregator_cluster" } + return "unknown" } @@ -133,7 +137,7 @@ type M3AggregatorClusterDiscoveryConfiguration struct { func (c *Configuration) EnvironmentConfig( hostID string, ) (environment.Configuration, error) { - discoveryConfigType := defaultDiscoveryConfigType + discoveryConfigType := ConfigType if c.Type != nil { discoveryConfigType = *c.Type } diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go index d76a4a262f..a79df54df8 100644 --- a/src/dbnode/discovery/config_test.go +++ b/src/dbnode/discovery/config_test.go @@ -142,6 +142,7 @@ func getEnvConfig(t *testing.T, in string, hostID string) environment.Configurat envConfig, err := cfg.EnvironmentConfig(hostID) assert.NoError(t, err) + return envConfig } From 0ad53565465235ceef906e29a0dfa5767717784c Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 01:39:44 -0500 Subject: [PATCH 34/41] more test fix --- src/cmd/services/m3dbnode/config/config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 02da5c8147..04344de383 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -630,7 +630,7 @@ func NewEtcdEmbedConfig(cfg DBConfiguration) (*embed.Config, error) { dir := kvCfg.RootDir if dir == "" { - dir = path.Join(cfg.Filesystem.FilePathPrefixOrDefault(), defaultEtcdDirSuffix) + dir = path.Join(cfg.FilesystemOrDefault().FilePathPrefixOrDefault(), defaultEtcdDirSuffix) } newKVCfg.Dir = dir From 5294afda80fe75ad84dc7cf844561024d1cba178 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 01:59:15 -0500 Subject: [PATCH 35/41] more test fix 2 --- src/cmd/services/m3dbnode/main/common_test.go | 2 -- src/cmd/services/m3dbnode/main/main_test.go | 31 +++++++++---------- src/dbnode/discovery/config.go | 7 ++--- src/dbnode/discovery/config_test.go | 7 +++-- 4 files changed, 21 insertions(+), 26 deletions(-) diff --git a/src/cmd/services/m3dbnode/main/common_test.go b/src/cmd/services/m3dbnode/main/common_test.go index c1f744f9e7..41ff613fda 100644 --- a/src/cmd/services/m3dbnode/main/common_test.go +++ b/src/cmd/services/m3dbnode/main/common_test.go @@ -1,5 +1,3 @@ -// +build big -// // Copyright (c) 2017 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/src/cmd/services/m3dbnode/main/main_test.go b/src/cmd/services/m3dbnode/main/main_test.go index 52ba11d780..eee0f82305 100644 --- a/src/cmd/services/m3dbnode/main/main_test.go +++ b/src/cmd/services/m3dbnode/main/main_test.go @@ -1,5 +1,3 @@ -// +build big -// // Copyright (c) 2017 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy @@ -103,7 +101,7 @@ func TestConfig(t *testing.T) { err = xconfig.LoadFile(&cfg, configFd.Name(), xconfig.Options{}) require.NoError(t, err) - envCfg, err := &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) + envCfg, err := cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) require.NoError(t, err) syncCluster, err := envCfg.Services.SyncCluster() @@ -188,8 +186,7 @@ func TestConfig(t *testing.T) { // NB(r): Make sure client config points to the root config // service since we're going to instantiate the client configuration // just by itself. - cfg.DB.Client.EnvironmentConfig, err = &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) - require.NoError(t, err) + cfg.DB.Client.EnvironmentConfig = &envCfg cli, err := cfg.DB.Client.NewClient(client.ConfigurationParameters{}) require.NoError(t, err) @@ -338,7 +335,7 @@ func TestEmbeddedConfig(t *testing.T) { err = xconfig.LoadFile(&cfg, configFd.Name(), xconfig.Options{}) require.NoError(t, err) - envCfg, err := &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) + envCfg, err := cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) require.NoError(t, err) syncCluster, err := envCfg.Services.SyncCluster() @@ -402,8 +399,7 @@ func TestEmbeddedConfig(t *testing.T) { // NB(r): Make sure client config points to the root config // service since we're going to instantiate the client configuration // just by itself. - cfg.DB.Client.EnvironmentConfig, err = &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) - require.NoError(t, err) + cfg.DB.Client.EnvironmentConfig = &envCfg cli, err := cfg.DB.Client.NewClient(client.ConfigurationParameters{}) require.NoError(t, err) @@ -622,15 +618,16 @@ db: ` kvConfigPortion = ` - config: - service: - env: {{.ServiceEnv}} - zone: {{.ServiceZone}} - service: {{.ServiceName}} - cacheDir: {{.ConfigServiceCacheDir}} - etcdClusters: - - zone: {{.ServiceZone}} - endpoints: {{.EtcdEndpoints}} + discovery: + config: + service: + env: {{.ServiceEnv}} + zone: {{.ServiceZone}} + service: {{.ServiceName}} + cacheDir: {{.ConfigServiceCacheDir}} + etcdClusters: + - zone: {{.ServiceZone}} + endpoints: {{.EtcdEndpoints}} ` embeddedKVConfigPortion = ` diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index 399056ae14..f0be1fc0c8 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -25,9 +25,8 @@ import ( "errors" "fmt" - "github.com/m3db/m3/src/dbnode/environment" - etcdclient "github.com/m3db/m3/src/cluster/client/etcd" + "github.com/m3db/m3/src/dbnode/environment" ) const ( @@ -178,7 +177,7 @@ func (c *Configuration) m3dbSingleNodeEnvConfig( Zone: defaultZone, Env: defaultEnvironment, ETCDClusters: []etcdclient.ClusterConfig{ - etcdclient.ClusterConfig{ + { Zone: defaultZone, Endpoints: []string{defaultSingleNodeClusterEndpoint}, }, @@ -223,7 +222,7 @@ func (c *Configuration) envConfig( Zone: validZone, Env: env, ETCDClusters: []etcdclient.ClusterConfig{ - etcdclient.ClusterConfig{ + { Zone: validZone, Endpoints: endpoints, }, diff --git a/src/dbnode/discovery/config_test.go b/src/dbnode/discovery/config_test.go index a79df54df8..307769688c 100644 --- a/src/dbnode/discovery/config_test.go +++ b/src/dbnode/discovery/config_test.go @@ -25,9 +25,10 @@ import ( "os" "testing" - "github.com/m3db/m3/src/dbnode/environment" - xconfig "github.com/m3db/m3/src/x/config" "github.com/stretchr/testify/assert" + + "github.com/m3db/m3/src/dbnode/environment" + "github.com/m3db/m3/src/x/config" ) func TestM3DBSingleNodeType(t *testing.T) { @@ -137,7 +138,7 @@ func getEnvConfig(t *testing.T, in string, hostID string) environment.Configurat assert.NoError(t, err) var cfg Configuration - err = xconfig.LoadFile(&cfg, fd.Name(), xconfig.Options{}) + err = config.LoadFile(&cfg, fd.Name(), config.Options{}) assert.NoError(t, err) envConfig, err := cfg.EnvironmentConfig(hostID) From 26f21fdd711d05879ad77cc01a3d1ad8e204c417 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 02:07:46 -0500 Subject: [PATCH 36/41] more test fix 3 --- src/cmd/services/m3dbnode/main/common_test.go | 2 ++ src/cmd/services/m3dbnode/main/main_index_test.go | 11 ++++------- src/cmd/services/m3dbnode/main/main_test.go | 2 ++ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/cmd/services/m3dbnode/main/common_test.go b/src/cmd/services/m3dbnode/main/common_test.go index 41ff613fda..c1f744f9e7 100644 --- a/src/cmd/services/m3dbnode/main/common_test.go +++ b/src/cmd/services/m3dbnode/main/common_test.go @@ -1,3 +1,5 @@ +// +build big +// // Copyright (c) 2017 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/src/cmd/services/m3dbnode/main/main_index_test.go b/src/cmd/services/m3dbnode/main/main_index_test.go index b726d99715..071e731424 100644 --- a/src/cmd/services/m3dbnode/main/main_index_test.go +++ b/src/cmd/services/m3dbnode/main/main_index_test.go @@ -111,10 +111,8 @@ func TestIndexEnabledServer(t *testing.T) { err = xconfig.LoadFile(&cfg, configFd.Name(), xconfig.Options{}) require.NoError(t, err) - envCfg, err := cfg.DiscoveryConfig.EnvironmentConfig(hostID) - if err != nil { - return nil, err - } + envCfg, err := cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) + require.NoError(t, err) syncCluster, err := envCfg.Services.SyncCluster() require.NoError(t, err) @@ -198,8 +196,7 @@ func TestIndexEnabledServer(t *testing.T) { // NB(r): Make sure client config points to the root config // service since we're going to instantiate the client configuration // just by itself. - cfg.DB.Client.EnvironmentConfig, err = &cfg.DB.DiscoveryConfig.EnvironmentConfig(hostID) - require.NoError(t, err) + cfg.DB.Client.EnvironmentConfig = &envCfg cli, err := cfg.DB.Client.NewClient(client.ConfigurationParameters{}) require.NoError(t, err) @@ -454,7 +451,7 @@ db: - capacity: 4096 size: 128 - discovery: + discovery: config: service: env: {{.ServiceEnv}} diff --git a/src/cmd/services/m3dbnode/main/main_test.go b/src/cmd/services/m3dbnode/main/main_test.go index eee0f82305..03cc3165db 100644 --- a/src/cmd/services/m3dbnode/main/main_test.go +++ b/src/cmd/services/m3dbnode/main/main_test.go @@ -1,3 +1,5 @@ +// +build big +// // Copyright (c) 2017 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy From 901bfe3d8e19add37670c65184c83cebc58b5cb7 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 02:19:05 -0500 Subject: [PATCH 37/41] more test fix 4 --- src/dbnode/discovery/config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index f0be1fc0c8..17d3d98a33 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -36,7 +36,7 @@ const ( defaultM3AggregatorService = "m3aggregator" defaultCacheDirectory = "/var/lib/m3kv" defaultSingleNodeClusterEndpoint = "127.0.0.1:2379" - defaultSingleNodeClusterSeedEndpoint = "127.0.0.1:2380" + defaultSingleNodeClusterSeedEndpoint = "http://127.0.0.1:2380" ) var validDiscoveryConfigTypes = []ConfigurationType{ From 83be2c512b4052ed42e45bf1cc1833983e663fb5 Mon Sep 17 00:00:00 2001 From: Ryan Allen Date: Fri, 6 Nov 2020 02:37:15 -0500 Subject: [PATCH 38/41] mod tidy --- go.mod | 10 ++- go.sum | 190 --------------------------------------------------------- 2 files changed, 9 insertions(+), 191 deletions(-) diff --git a/go.mod b/go.mod index 7d9ccea77c..8e46e640e9 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d // indirect github.com/DataDog/datadog-go v3.7.1+incompatible // indirect + github.com/Masterminds/semver v1.5.0 // indirect github.com/MichaelTJones/pcg v0.0.0-20180122055547-df440c6ed7ed github.com/Microsoft/go-winio v0.4.14 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect @@ -23,6 +24,7 @@ require ( github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f github.com/davecgh/go-spew v1.1.1 github.com/docker/go-connections v0.4.0 // indirect + github.com/fatih/color v1.10.0 // indirect github.com/fortytw2/leaktest v1.2.1-0.20180901000122-b433bbd6d743 github.com/fossas/fossa-cli v1.0.30 github.com/garethr/kubeval v0.0.0-20180821130434-c44f5193dc94 @@ -35,7 +37,6 @@ require ( github.com/golang/mock v1.4.4 github.com/golang/protobuf v1.4.2 github.com/golang/snappy v0.0.1 - github.com/golangci/golangci-lint v1.32.2 // indirect github.com/google/go-cmp v0.5.2 github.com/google/go-jsonnet v0.16.0 github.com/google/uuid v1.1.2-0.20190416172445-c2e93f3ae59f // indirect @@ -47,6 +48,7 @@ require ( github.com/influxdata/influxdb v1.7.7 github.com/jhump/protoreflect v1.6.1 github.com/json-iterator/go v1.1.9 + github.com/kr/text v0.2.0 // indirect github.com/leanovate/gopter v0.2.8 github.com/lib/pq v1.6.0 // indirect github.com/lightstep/lightstep-tracer-go v0.18.1 @@ -65,6 +67,9 @@ require ( github.com/m3dbx/vellum v0.0.0-20200826162549-f94c029903de github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885 github.com/mjibson/esc v0.1.0 + github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect + github.com/onsi/ginkgo v1.14.1 // indirect + github.com/onsi/gomega v1.10.2 // indirect github.com/opencontainers/image-spec v1.0.1 // indirect github.com/opencontainers/runc v0.1.1 // indirect github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9 @@ -90,6 +95,7 @@ require ( github.com/satori/go.uuid v1.2.0 github.com/sergi/go-diff v1.1.0 github.com/shirou/gopsutil v2.20.5+incompatible // indirect + github.com/sirupsen/logrus v1.7.0 // indirect github.com/spf13/cast v1.3.1-0.20190531151931-f31dc0aaab5a // indirect github.com/spf13/cobra v1.1.1 github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -119,6 +125,7 @@ require ( golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 google.golang.org/grpc v1.29.1 + gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect gopkg.in/go-ini/ini.v1 v1.57.0 // indirect gopkg.in/go-playground/assert.v1 v1.2.1 // indirect gopkg.in/go-playground/validator.v9 v9.7.0 @@ -128,6 +135,7 @@ require ( gopkg.in/vmihailenco/msgpack.v2 v2.8.3 gopkg.in/yaml.v2 v2.3.0 gotest.tools v2.2.0+incompatible + honnef.co/go/tools v0.0.1-2020.1.6 // indirect ) // branch 0.9.3-pool-read-binary-3 diff --git a/go.sum b/go.sum index 9b894ed15d..2971417542 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,3 @@ -4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a h1:wFEQiK85fRsEVF0CRrPAos5LoAryUsIX1kPW/WrIqFw= -4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= @@ -39,8 +37,6 @@ github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d/go.mod h1:Rn2zM2M github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go v3.7.1+incompatible h1:HmA9qHVrHIAqpSvoCYJ+c6qst0lgqEhNW6/KwfkHbS8= github.com/DataDog/datadog-go v3.7.1+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5 h1:XTrzB+F8+SpRmbhAH8HLxhiiG6nYNwaBZjrFps1oWEk= -github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -55,8 +51,6 @@ github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/OpenPeeDeeP/depguard v1.0.1 h1:VlW4R6jmBIv3/u1JNlawEvJMM4J+dPORPaZasQee8Us= -github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -80,7 +74,6 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5 h1:P5U+E4x5OkVEKQDklVPmzs71WM56RTTRqV4OrDC//Y4= github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5/go.mod h1:976q2ETgjT2snVCf2ZaBnyBbVoPERGjUz+0sofzEfro= -github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= @@ -119,8 +112,6 @@ github.com/bmatcuk/doublestar v1.3.1 h1:rT8rxDPsavp9G+4ZULzqhhUSaI/OPsTZNG88Z3i0 github.com/bmatcuk/doublestar v1.3.1/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b h1:AP/Y7sqYicnjGDfD5VcY4CIfh1hRXBUavxrvELjTiOE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q= -github.com/bombsimon/wsl/v3 v3.1.0 h1:E5SRssoBgtVFPcYWUOFJEcgaySgdtTNYzsSKDOY7ss8= -github.com/bombsimon/wsl/v3 v3.1.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/briandowns/spinner v1.11.1 h1:OixPqDEcX3juo5AjQZAnFPbeUA0jvkp2qzB5gOZJ/L0= github.com/briandowns/spinner v1.11.1/go.mod h1:QOuQk7x+EaDASo80FEXwlwiA+j/PPIcX3FScO+3/ZPQ= github.com/c2h5oh/datasize v0.0.0-20171227191756-4eba002a5eae h1:2Zmk+8cNvAGuY8AyvZuWpUdpQUAXwfom4ReVMe/CTIo= @@ -173,8 +164,6 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/daixiang0/gci v0.2.4 h1:BUCKk5nlK2m+kRIsoj+wb/5hazHvHeZieBKWd9Afa8Q= -github.com/daixiang0/gci v0.2.4/go.mod h1:+AV8KmHTGxxwp/pY84TLQfFKp2vuKXXJVzF3kD/hfR4= github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -184,8 +173,6 @@ github.com/daviddengcn/go-assert v0.0.0-20150305222929-ba7e68aeeff6 h1:OPIYL/VhQ github.com/daviddengcn/go-assert v0.0.0-20150305222929-ba7e68aeeff6/go.mod h1:N+OekMaElW3rSAfDdNX6Dff3HS237/OhC08jYFW4oCw= github.com/daviddengcn/go-villa v0.0.0-20160111144444-3f35da8ba982 h1:2Trx4ntMtxmus9nN2w1PIqJOI8jB3RjlnDnFm/ImlIU= github.com/daviddengcn/go-villa v0.0.0-20160111144444-3f35da8ba982/go.mod h1:U8xNoHcXfPnZzy9zCxeKRjaJgC1d3613rFHjZVVAqKc= -github.com/denis-tingajkin/go-header v0.3.1 h1:ymEpSiFjeItCy1FOP+x0M2KdCELdEAHUsNa8F+hHc6w= -github.com/denis-tingajkin/go-header v0.3.1/go.mod h1:sq/2IxMhaZX+RRcgHfCRx/m0M5na0fBt4/CRe7Lrji0= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= @@ -247,8 +234,6 @@ github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 h1:gclg6gY70GLy github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/gnewton/jargo v0.0.0-20150417131352-41f5f186a805 h1:rLZXvVgFIon3lI+v9IL8t1AmG9/yLMSRB5LQ0frn+6Q= github.com/gnewton/jargo v0.0.0-20150417131352-41f5f186a805/go.mod h1:x+HLDnZexLq1FmhrdgFf4c3EWGbqhU3ITvISBFyzvRo= -github.com/go-critic/go-critic v0.5.2 h1:3RJdgf6u4NZUumoP8nzbqiiNT8e1tC2Oc7jlgqre/IA= -github.com/go-critic/go-critic v0.5.2/go.mod h1:cc0+HvdE3lFpqLecgqMaJcvWWH77sLdBp+wLGPM1Yyo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -308,29 +293,6 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= -github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= -github.com/go-toolsmith/astcopy v1.0.0 h1:OMgl1b1MEpjFQ1m5ztEO06rz5CUd3oBv9RF7+DyvdG8= -github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= -github.com/go-toolsmith/astequal v1.0.0 h1:4zxD8j3JRFNyLN46lodQuqz3xdKSrur7U/sr0SDS/gQ= -github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= -github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= -github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= -github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= -github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= -github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= -github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc= -github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= -github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= -github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= -github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/gofrs/flock v0.8.0 h1:MSdYClljsF3PbENUUEx85nkWfJSGfzYI9yEBZOJz6CY= -github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -366,36 +328,6 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= -github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= -github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= -github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= -github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6 h1:YYWNAGTKWhKpcLLt7aSj/odlKrSrelQwlovBpDuf19w= -github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0= -github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613 h1:9kfjN3AdxcbsZBf8NjltjWihK2QfBBBZuv91cMFfDHw= -github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8= -github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3 h1:pe9JHs3cHHDQgOFXJJdYkK6fLz2PWyYtP4hthoCMvs8= -github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o= -github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d h1:pXTK/gkVNs7Zyy7WKgLXmpQ5bHTrq5GDsp8R9Qs67g0= -github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU= -github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks= -github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= -github.com/golangci/golangci-lint v1.32.2 h1:CgIeFWTLJ3Nt1w/WU1RO351j/CjN6LIVjppbJfI9nMk= -github.com/golangci/golangci-lint v1.32.2/go.mod h1:ydr+IqtIVyAh72L16aK0bNdNg/YGa+AEgdbKj9MluzI= -github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc h1:gLLhTLMk2/SutryVJ6D4VZCU3CUqr8YloG7FPIBWFpI= -github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU= -github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= -github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= -github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= -github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= -github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770 h1:EL/O5HGrF7Jaq0yNhBLucz9hTuRzj2LdwGBOaENgxIk= -github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= -github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21 h1:leSNB7iYzLYSSx3J/s5sVf4Drkc68W2wm4Ixh/mr0us= -github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI= -github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0 h1:HVfrLniijszjS1aiNg8JbBMO2+E1WIQ+j/gL4SQqGPg= -github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450 h1:7xqw01UYS+KCI25bMrPxwNYkSns2Db1ziQPpVq99FpE= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho= github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995 h1:f5gsjBiF9tRRVomCvrkGMMWI8W1f2OBFar2c5oakAP0= @@ -412,7 +344,6 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github/v30 v30.1.0 h1:VLDx+UolQICEOKu2m4uAoMti1SxuEBAl7RSEG16L+Oo= @@ -435,7 +366,6 @@ github.com/google/uuid v1.1.2-0.20190416172445-c2e93f3ae59f/go.mod h1:TIyPZe4Mgq github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/gookit/color v1.3.1/go.mod h1:R3ogXq2B9rTbXoSHJ1HyUVAZ3poOJHpd9nQmyGZsfvQ= github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gophercloud/gophercloud v0.8.0/go.mod h1:Kc/QKr9thLKruO/dG0szY8kRIYS+iENz0ziI0hJf76A= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -455,12 +385,6 @@ github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/z github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.1.0 h1:E4c8Y1EQURbBEAHoXc/jBTK7Np14ArT8NPUiSFOl9yc= -github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= -github.com/gostaticanalysis/comment v1.3.0 h1:wTVgynbFu8/nz6SGgywA0TcyIoAVsYc7ai/Zp5xNGlw= -github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -558,13 +482,7 @@ github.com/jcmturner/rpc/v2 v2.0.2/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJk github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.6.1 h1:4/2yi5LyDPP7nN+Hiird1SAJ6YoxUm13/oxHGRnbPd8= github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= -github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a h1:GmsqmapfzSJkm28dhRoHz2tLRbJmqhU86IPgBtN3mmk= -github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a/go.mod h1:xRskid8CManxVta/ALEhJha/pweKBaVG6fWgc0yH25s= -github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3 h1:jNYPNLe3d8smommaoQlK7LOA5ESyUJJ+Wf79ZtA7Vp4= -github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= @@ -585,11 +503,8 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= @@ -602,18 +517,14 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= -github.com/kyoh86/exportloopref v0.1.7 h1:u+iHuTbkbTS2D/JP7fCuZDo/t3rBVGo3Hf58Rc+lQVY= -github.com/kyoh86/exportloopref v0.1.7/go.mod h1:h1rDl2Kdj97+Kwh4gdz3ujE7XHmH51Q0lUiZ1z4NLj8= github.com/leanovate/gopter v0.2.8 h1:eFPtJ3aa5zLfbxGROSNY75T9Dume60CWBAqoWQ3h/ig= github.com/leanovate/gopter v0.2.8/go.mod h1:gNcbPWNEWRe4lm+bycKqxUYoH5uoVje5SkOJ3uoLer8= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.6.0 h1:I5DPxhYJChW9KYc66se+oKFFQX6VuQrKiprsX6ivRZc= github.com/lib/pq v1.6.0/go.mod h1:4vXEAYvW1fRQ2/FhZ78H73A60MHw1geSm145z2mdY1g= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/m3db/bitset v2.0.0+incompatible h1:wMgri1Z2QSwJ8K/7ZuV7vE4feLOT7EofVC8RakIOybI= github.com/m3db/bitset v2.0.0+incompatible/go.mod h1:X8CCqZmZxs2O6d4qHhiqtAKCin4G5mScPhiwX9rsc5c= @@ -656,10 +567,6 @@ github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= -github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= -github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb h1:RHba4YImhrUVQDHUCe2BNSOz4tVy2yGyXhvYDvxGgeE= -github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -677,14 +584,10 @@ github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHX github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885 h1:nCU/HIvsORu8nlebFTTkEpxao5zA/yt5Y4yQccm34bM= github.com/mauricelam/genny v0.0.0-20180903214747-eb2c5232c885/go.mod h1:wRyVMWiOZeVj+MieWS5tIBBtJ3RtqqMbPsA5Z+t5b5U= -github.com/mbilski/exhaustivestruct v1.1.0 h1:4ykwscnAFeHJruT+EY3M3vdeP8uXMh0VV2E61iR7XD8= -github.com/mbilski/exhaustivestruct v1.1.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= @@ -694,7 +597,6 @@ github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceT github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= @@ -714,17 +616,12 @@ github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lN github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= -github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= -github.com/mozilla/tls-observatory v0.0.0-20200317151703-4fa42e1c2dee/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae h1:VeRdUYdCw49yizlSbMEn2SZ+gT+3IUKx8BqxyQdz+BY= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/nakabonne/nestif v0.3.0 h1:+yOViDGhg8ygGrmII72nV9B/zGxY188TYpfolntsaPw= -github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -732,12 +629,8 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d h1:AREM5mwr4u1ORQBMvzfzBgpsctsbQikCVpvC+tX285E= -github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nishanths/exhaustive v0.1.0 h1:kVlMw8h2LHPMGUVqUj6230oQjjTMFjwcZrnkhXzFfl8= -github.com/nishanths/exhaustive v0.1.0/go.mod h1:S1j9110vxV1ECdCudXRkeMnFQ/DQk9ajLT0Uf2MYZQQ= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= @@ -803,8 +696,6 @@ github.com/pelletier/go-toml v1.5.0 h1:5BakdOZdtKJ1FFk6QdL8iSGrMWsXgchNJcrnarjbm github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -825,8 +716,6 @@ github.com/pointlander/jetset v1.0.0 h1:bNlaNAX7cDPID9SlcogmXlDWq0KcRJSpKwHXaAM3 github.com/pointlander/jetset v1.0.0/go.mod h1:zY6+WHRPB10uzTajloHtybSicLW1bf6Rz0eSaU9Deng= github.com/pointlander/peg v1.0.0 h1:rtCtA6Fu6xJpILX8WJfU+cvrcKmXgTfG/v+bkLP8NYY= github.com/pointlander/peg v1.0.0/go.mod h1:WJTMcgeWYr6fZz4CwHnY1oWZCXew8GWCF93FaAxPrh4= -github.com/polyfloyd/go-errorlint v0.0.0-20201006195004-351e25ade6e3 h1:Amgs0nbayPhBNGh1qPqqr2e7B2qNAcBgRjnBH/lmn8k= -github.com/polyfloyd/go-errorlint v0.0.0-20201006195004-351e25ade6e3/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prashantv/protectmem v0.0.0-20171002184600-e20412882b3a h1:AA9vgIBDjMHPC2McaGPojgV2dcI78ZC0TLNhYCXEKH8= github.com/prashantv/protectmem v0.0.0-20171002184600-e20412882b3a/go.mod h1:lzZQ3Noex5pfAy7mkAeCjcBDteYU85uWWnJ/y6gKU8k= @@ -859,11 +748,6 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx github.com/prometheus/prometheus v1.8.2-0.20200420081721-18254838fbe2 h1:JtWnHSHMC1h8mb6K5GsFzmhY/WMILsxQ4slsJu+lyg8= github.com/prometheus/prometheus v1.8.2-0.20200420081721-18254838fbe2/go.mod h1:ZnfuiMn3LNsry2q7ECmRe4WcscxmJSd2dIFpOi4w3lM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= -github.com/quasilyte/go-ruleguard v0.2.0 h1:UOVMyH2EKkxIfzrULvA9n/tO+HtEhqD9mrLSWMr5FwU= -github.com/quasilyte/go-ruleguard v0.2.0/go.mod h1:2RT/tf0Ce0UDj5y243iWKosQogJd8+1G3Rs2fxmlYnw= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/rakyll/statik v0.1.6 h1:uICcfUXpgqtw2VopbIncslhAmE5hwc4g20TEyEENBNs= github.com/rakyll/statik v0.1.6/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -877,8 +761,6 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= @@ -886,10 +768,6 @@ github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rveen/ogdl v0.0.0-20200522080342-eeeda1a978e7 h1:Lftq+hHvm0kPWM1sDNqx1jkXAo1zw2YceoFo1hdyj7I= github.com/rveen/ogdl v0.0.0-20200522080342-eeeda1a978e7/go.mod h1:9fqUB54wJS9u5TSXJZhRfTdh1lXVxTytDjed7t2cNdw= -github.com/ryancurrah/gomodguard v1.1.0 h1:DWbye9KyMgytn8uYpuHkwf0RHqAYO6Ay/D0TbCpPtVU= -github.com/ryancurrah/gomodguard v1.1.0/go.mod h1:4O8tr7hBODaGE6VIhfJDHcwzh5GUccKSJBU0UMXJFVM= -github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= -github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -900,20 +778,13 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUt github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seborama/govcr v2.2.1+incompatible h1:rELLpGxrv9ahY6zC5ruwNJtbNaSYsIC5VE9q7pI/+3I= github.com/seborama/govcr v2.2.1+incompatible/go.mod h1:EgcISudCCYDLzbiAImJ8i7kk4+wTA44Kp+j4S0LhASI= -github.com/securego/gosec/v2 v2.5.0 h1:kjfXLeKdk98gBe2+eYRFMpC4+mxmQQtbidpiiOQ69Qc= -github.com/securego/gosec/v2 v2.5.0/go.mod h1:L/CDXVntIff5ypVHIkqPXbtRpJiNCh6c6Amn68jXDjo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= -github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= -github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= github.com/shirou/gopsutil v2.17.13-0.20180801053943-8048a2e9c577+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v2.20.5+incompatible h1:tYH07UPoQt0OCQdgWWMgYHy3/a9bcxNpBIysykNIP7I= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= @@ -922,7 +793,6 @@ github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvH github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -934,11 +804,7 @@ github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9 github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= -github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= -github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= @@ -971,8 +837,6 @@ github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= -github.com/ssgreg/nlreturn/v2 v2.1.0 h1:6/s4Rc49L6Uo6RLjhWZGBpWWjfzk2yrf1nIW8m4wgVA= -github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -988,13 +852,7 @@ github.com/subosito/gotenv v1.2.1-0.20190917103637-de67a6614a4d h1:YN4gX82mT31qs github.com/subosito/gotenv v1.2.1-0.20190917103637-de67a6614a4d/go.mod h1:GVSeM7r0P1RI1gOKYyN9IuNkhMmQwKGsjVf3ulDrdzo= github.com/tcnksm/go-gitconfig v0.1.2 h1:iiDhRitByXAEyjgBqsKi9QU4o2TNtv9kPP3RgPgXBPw= github.com/tcnksm/go-gitconfig v0.1.2/go.mod h1:/8EhP4H7oJZdIPyT+/UIsG87kTzrzM4UsLGSItWYCpE= -github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2 h1:Xr9gkxfOP0KQWXKNqmwe8vEeSUiUj4Rlee9CMVX2ZUQ= -github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= -github.com/tetafro/godot v0.4.9 h1:dSOiuasshpevY73eeI3+zaqFnXSBKJ3mvxbyhh54VRo= -github.com/tetafro/godot v0.4.9/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e h1:RumXZ56IrCj4CL+g1b9OL/oH0QnsF976bC8xQFYUD5Q= -github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tj/assert v0.0.0-20171129193455-018094318fb0 h1:Rw8kxzWo1mr6FSaYXjQELRe88y2KdfynXdnK72rdjtA= @@ -1005,10 +863,6 @@ github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKw github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d h1:3EZyvNUMsGD1QA8cu0STNn1L7I77rvhf2IhOcHYQhSw= -github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d/go.mod h1:yiFB6fFoV7saXirUGfuK+cPtUh4NX/Hf5y2WC2lehu0= -github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa h1:RC4maTWLKKwb7p1cnoygsbKIgNlJqSYBeAFON3Ar8As= -github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/twmb/murmur3 v1.1.4 h1:NnlAxelwOgdQDmYuV0T/K+tpDQ/8wdsDVOGmvUqBOCw= github.com/twmb/murmur3 v1.1.4/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ= @@ -1025,18 +879,9 @@ github.com/uber/tchannel-go v1.14.0/go.mod h1:Rrgz1eL8kMjW/nEzZos0t+Heq0O4LhnUJV github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ulikunitz/xz v0.5.5 h1:pFrO0lVpTBXLpYw+pnLj6TbvHuyjXMfjGeCwSqCVwok= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= -github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= -github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= -github.com/ultraware/whitespace v0.0.4 h1:If7Va4cM03mpgrNH9k49/VOicWpGoG70XPBFFODYDsg= -github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/uudashr/gocognit v1.0.1 h1:MoG2fZ0b/Eo7NXoIwCVFLG5JED3qgQz5/NEE+rOsjPs= -github.com/uudashr/gocognit v1.0.1/go.mod h1:j44Ayx2KW4+oB6SWMv8KsmHzZrOInQav7D3cQMJ5JUM= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= -github.com/valyala/quicktemplate v1.6.3/go.mod h1:fwPzK2fHuYEODzJ9pkw0ipCPNHZ2tD5KW4lOuSdPKzY= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a h1:0R4NLDRDZX6JcmhJgXi5E4b8Wg84ihbmUKp/GvSPEzc= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/vmihailenco/msgpack v2.8.3+incompatible h1:76LCLwxS08gKHRpGA10PBxfWk72JfUH6mgzp2+URwYM= @@ -1057,9 +902,7 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= @@ -1168,8 +1011,6 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1201,21 +1042,15 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1229,37 +1064,20 @@ golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDq golang.org/x/tools v0.0.0-20190813034749-528a2984e271/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191104232314-dc038396d1f0/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191203134012-c197fd4bf371/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200305205014-bc073721adb6/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200321224714-0d839f3cf2ed/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200410194907-79a7a3126eef/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b h1:zSzQJAznWxAh9fZxiPy2FZo+ZZEYoYFYYDYdOrU7AaM= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200731060945-b5fad4ed8dd6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201007032633-0806396f153e/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201011145850-ed2f50202694/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 h1:2ntEwh02rqo2jSsrYmp4yKHHjh0CbXP3ZtSUetSB+q8= golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1398,14 +1216,6 @@ k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -mvdan.cc/gofumpt v0.0.0-20200802201014-ab5a8192947d h1:t8TAw9WgTLghti7RYkpPmqk4JtQ3+wcP5GgZqgWeWLQ= -mvdan.cc/gofumpt v0.0.0-20200802201014-ab5a8192947d/go.mod h1:bzrjFmaD6+xqohD3KYP0H2FEuxknnBmyyOxdhLdaIws= -mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= -mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= -mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= -mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= -mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7 h1:kAREL6MPwpsk1/PQPFD3Eg7WAQR5mPTWZJaBiG5LDbY= -mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7/go.mod h1:HGC5lll35J70Y5v7vCGb9oLhHoScFwkHDJm/05RdSTc= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= From e97464f0a8ebc2864f505c3da4194312335ca5c6 Mon Sep 17 00:00:00 2001 From: Rob Skillington Date: Sat, 7 Nov 2020 00:29:25 -0500 Subject: [PATCH 39/41] Minor tweaks --- scripts/development/m3_stack/m3dbnode.yml | 41 -------------------- src/cmd/services/m3dbnode/config/config.go | 45 +++------------------- src/dbnode/server/server.go | 40 +++++++++---------- 3 files changed, 25 insertions(+), 101 deletions(-) diff --git a/scripts/development/m3_stack/m3dbnode.yml b/scripts/development/m3_stack/m3dbnode.yml index 3c0de4c452..35a384a193 100644 --- a/scripts/development/m3_stack/m3dbnode.yml +++ b/scripts/development/m3_stack/m3dbnode.yml @@ -1,7 +1,4 @@ db: - logging: - level: info - tracing: backend: jaeger jaeger: @@ -11,48 +8,10 @@ db: type: const param: 1 - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - config: service: env: default_env diff --git a/src/cmd/services/m3dbnode/config/config.go b/src/cmd/services/m3dbnode/config/config.go index 04344de383..9f438cec6b 100644 --- a/src/cmd/services/m3dbnode/config/config.go +++ b/src/cmd/services/m3dbnode/config/config.go @@ -73,16 +73,7 @@ var ( defaultGCPercentage = 100 defaultWriteNewSeriesAsync = true defaultWriteNewSeriesBackoffDuration = 2 * time.Millisecond - defaultCachePostingsListSize = 262144 - defaultCache = CacheConfigurations{ - Series: &SeriesCacheConfiguration{ - Policy: series.DefaultCachePolicy, - }, - PostingsList: &PostingsListCacheConfiguration{ - Size: &defaultCachePostingsListSize, - }, - } - defaultCommitLogPolicy = CommitLogPolicy{ + defaultCommitLogPolicy = CommitLogPolicy{ FlushMaxBytes: 524288, FlushEvery: time.Second * 1, Queue: CommitLogQueuePolicy{ @@ -90,10 +81,6 @@ var ( CalculationType: CalculationTypeFixed, }, } - defaultFilesystemPrefix = "/var/lib/m3db" - defaultFilesystem = FilesystemConfiguration{ - FilePathPrefix: &defaultFilesystemPrefix, - } ) // Configuration is the top level configuration that includes both a DB @@ -160,10 +147,10 @@ type DBConfiguration struct { BlockRetrieve *BlockRetrievePolicy `yaml:"blockRetrieve"` // Cache configurations. - Cache *CacheConfigurations `yaml:"cache"` + Cache CacheConfigurations `yaml:"cache"` // The filesystem configuration for the node. - Filesystem *FilesystemConfiguration `yaml:"filesystem"` + Filesystem FilesystemConfiguration `yaml:"filesystem"` // The commit log policy for the node. CommitLog *CommitLogPolicy `yaml:"commitlog"` @@ -274,24 +261,6 @@ func (c *DBConfiguration) DebugListenAddressOrDefault() string { return *c.DebugListenAddress } -// CacheOrDefault returns the cache configuration or default. -func (c *DBConfiguration) CacheOrDefault() CacheConfigurations { - if c.Cache == nil { - return defaultCache - } - - return *c.Cache -} - -// FilesystemOrDefault returns the filesystem configuration or default. -func (c *DBConfiguration) FilesystemOrDefault() FilesystemConfiguration { - if c.Filesystem == nil { - return defaultFilesystem - } - - return *c.Filesystem -} - // CommitLogOrDefault returns the commit log policy or default. func (c *DBConfiguration) CommitLogOrDefault() CommitLogPolicy { if c.CommitLog == nil { @@ -345,10 +314,8 @@ func (c *DBConfiguration) PoolingPolicyOrDefault() (PoolingPolicy, error) { // Validate validates the Configuration. We use this method to validate fields // where the validator package falls short. func (c *DBConfiguration) Validate() error { - if c.Filesystem != nil { - if err := c.Filesystem.Validate(); err != nil { - return err - } + if err := c.Filesystem.Validate(); err != nil { + return err } if _, err := c.PoolingPolicyOrDefault(); err != nil { @@ -630,7 +597,7 @@ func NewEtcdEmbedConfig(cfg DBConfiguration) (*embed.Config, error) { dir := kvCfg.RootDir if dir == "" { - dir = path.Join(cfg.FilesystemOrDefault().FilePathPrefixOrDefault(), defaultEtcdDirSuffix) + dir = path.Join(cfg.Filesystem.FilePathPrefixOrDefault(), defaultEtcdDirSuffix) } newKVCfg.Dir = dir diff --git a/src/dbnode/server/server.go b/src/dbnode/server/server.go index 2a420c4742..dc19aebd6f 100644 --- a/src/dbnode/server/server.go +++ b/src/dbnode/server/server.go @@ -205,13 +205,12 @@ func Run(runOpts RunOptions) { } // Parse file and directory modes - cfgFilesystem := cfg.FilesystemOrDefault() - newFileMode, err := cfgFilesystem.ParseNewFileMode() + newFileMode, err := cfg.Filesystem.ParseNewFileMode() if err != nil { logger.Fatal("could not parse new file mode", zap.Error(err)) } - newDirectoryMode, err := cfgFilesystem.ParseNewDirectoryMode() + newDirectoryMode, err := cfg.Filesystem.ParseNewDirectoryMode() if err != nil { logger.Fatal("could not parse new directory mode", zap.Error(err)) } @@ -222,7 +221,7 @@ func Run(runOpts RunOptions) { // If the process exits ungracefully, only the lock in memory will be removed, the lock // file will remain on the file system. When a dbnode starts after an ungracefully stop, // it will be able to acquire the lock despite the fact the the lock file exists. - lockPath := path.Join(cfgFilesystem.FilePathPrefixOrDefault(), filePathPrefixLockFile) + lockPath := path.Join(cfg.Filesystem.FilePathPrefixOrDefault(), filePathPrefixLockFile) fslock, err := lockfile.CreateAndAcquire(lockPath, newDirectoryMode) if err != nil { logger.Fatal("could not acquire lock", zap.String("path", lockPath), zap.Error(err)) @@ -368,7 +367,7 @@ func Run(runOpts RunOptions) { } defer buildReporter.Stop() - mmapCfg := cfgFilesystem.MmapConfigurationOrDefault() + mmapCfg := cfg.Filesystem.MmapConfigurationOrDefault() shouldUseHugeTLB := mmapCfg.HugeTLB.Enabled if shouldUseHugeTLB { // Make sure the host supports HugeTLB before proceeding with it to prevent @@ -391,19 +390,18 @@ func Run(runOpts RunOptions) { runtimeOpts := m3dbruntime.NewOptions(). SetPersistRateLimitOptions(ratelimit.NewOptions(). SetLimitEnabled(true). - SetLimitMbps(cfgFilesystem.ThroughputLimitMbpsOrDefault()). - SetLimitCheckEvery(cfgFilesystem.ThroughputCheckEveryOrDefault())). + SetLimitMbps(cfg.Filesystem.ThroughputLimitMbpsOrDefault()). + SetLimitCheckEvery(cfg.Filesystem.ThroughputCheckEveryOrDefault())). SetWriteNewSeriesAsync(cfg.WriteNewSeriesAsyncOrDefault()). SetWriteNewSeriesBackoffDuration(cfg.WriteNewSeriesBackoffDurationOrDefault()) - cfgCache := cfg.CacheOrDefault() - if lruCfg := cfgCache.SeriesConfiguration().LRU; lruCfg != nil { + if lruCfg := cfg.Cache.SeriesConfiguration().LRU; lruCfg != nil { runtimeOpts = runtimeOpts.SetMaxWiredBlocks(lruCfg.MaxBlocks) } // Setup postings list cache. var ( - plCacheConfig = cfgCache.PostingsListConfiguration() + plCacheConfig = cfg.Cache.PostingsListConfiguration() plCacheSize = plCacheConfig.SizeOrDefault() plCacheOptions = index.PostingsListCacheOptions{ InstrumentOptions: opts.InstrumentOptions(). @@ -418,7 +416,7 @@ func Run(runOpts RunOptions) { // Setup index regexp compilation cache. m3ninxindex.SetRegexpCacheOptions(m3ninxindex.RegexpCacheOptions{ - Size: cfgCache.RegexpConfiguration().SizeOrDefault(), + Size: cfg.Cache.RegexpConfiguration().SizeOrDefault(), Scope: iopts.MetricsScope(), }) @@ -500,21 +498,21 @@ func Run(runOpts RunOptions) { SetClockOptions(opts.ClockOptions()). SetInstrumentOptions(opts.InstrumentOptions(). SetMetricsScope(scope.SubScope("database.fs"))). - SetFilePathPrefix(cfgFilesystem.FilePathPrefixOrDefault()). + SetFilePathPrefix(cfg.Filesystem.FilePathPrefixOrDefault()). SetNewFileMode(newFileMode). SetNewDirectoryMode(newDirectoryMode). - SetWriterBufferSize(cfgFilesystem.WriteBufferSizeOrDefault()). - SetDataReaderBufferSize(cfgFilesystem.DataReadBufferSizeOrDefault()). - SetInfoReaderBufferSize(cfgFilesystem.InfoReadBufferSizeOrDefault()). - SetSeekReaderBufferSize(cfgFilesystem.SeekReadBufferSizeOrDefault()). + SetWriterBufferSize(cfg.Filesystem.WriteBufferSizeOrDefault()). + SetDataReaderBufferSize(cfg.Filesystem.DataReadBufferSizeOrDefault()). + SetInfoReaderBufferSize(cfg.Filesystem.InfoReadBufferSizeOrDefault()). + SetSeekReaderBufferSize(cfg.Filesystem.SeekReadBufferSizeOrDefault()). SetMmapEnableHugeTLB(shouldUseHugeTLB). SetMmapHugeTLBThreshold(mmapCfg.HugeTLB.Threshold). SetRuntimeOptionsManager(runtimeOptsMgr). SetTagEncoderPool(tagEncoderPool). SetTagDecoderPool(tagDecoderPool). - SetForceIndexSummariesMmapMemory(cfgFilesystem.ForceIndexSummariesMmapMemoryOrDefault()). - SetForceBloomFilterMmapMemory(cfgFilesystem.ForceBloomFilterMmapMemoryOrDefault()). - SetIndexBloomFilterFalsePositivePercent(cfgFilesystem.BloomFilterFalsePositivePercentOrDefault()). + SetForceIndexSummariesMmapMemory(cfg.Filesystem.ForceIndexSummariesMmapMemoryOrDefault()). + SetForceBloomFilterMmapMemory(cfg.Filesystem.ForceBloomFilterMmapMemoryOrDefault()). + SetIndexBloomFilterFalsePositivePercent(cfg.Filesystem.BloomFilterFalsePositivePercentOrDefault()). SetMmapReporter(mmapReporter) var commitLogQueueSize int @@ -547,7 +545,7 @@ func Run(runOpts RunOptions) { } // Set the series cache policy. - seriesCachePolicy := cfgCache.SeriesConfiguration().Policy + seriesCachePolicy := cfg.Cache.SeriesConfiguration().Policy opts = opts.SetSeriesCachePolicy(seriesCachePolicy) // Apply pooling options. @@ -1540,7 +1538,7 @@ func withEncodingAndPoolingOptions( InstrumentOptions: iopts, ClockOptions: opts.ClockOptions(), } - lruCfg = cfg.CacheOrDefault().SeriesConfiguration().LRU + lruCfg = cfg.Cache.SeriesConfiguration().LRU ) if lruCfg != nil && lruCfg.EventsChannelSize > 0 { From c2e832bb99edf6b7d5f4d3be4ed1e1222abe459b Mon Sep 17 00:00:00 2001 From: Rob Skillington Date: Mon, 9 Nov 2020 11:51:16 -0500 Subject: [PATCH 40/41] Update configs to match defaults being available --- scripts/development/m3_stack/m3dbnode.yml | 19 +++- .../aggregator/m3coordinator.yml | 18 ---- .../aggregator_legacy/m3coordinator.yml | 18 ---- .../carbon/m3coordinator.yml | 20 ---- .../cold_writes_simple/m3coordinator.yml | 20 ---- .../m3coordinator.yml | 20 ---- .../m3dbnode.yml | 55 ++--------- .../m3coordinator-cluster-a.yml | 20 ---- .../m3coordinator-cluster-b.yml | 20 ---- .../m3dbnode-cluster-a.yml | 48 ---------- .../m3dbnode-cluster-b.yml | 50 ---------- .../prometheus/m3coordinator.yml | 20 ---- .../m3coordinator01.yml | 20 ---- .../m3coordinator02.yml | 20 ---- .../query_fanout/m3coordinator-cluster-a.yml | 20 ---- .../query_fanout/m3coordinator-cluster-b.yml | 21 ----- .../query_fanout/m3coordinator-cluster-c.yml | 20 ---- .../repair/m3coordinator.yml | 20 ---- .../repair/m3dbnode.yml | 77 +++------------ .../m3coordinator-cluster-a.yml | 5 - .../m3coordinator-cluster-b.yml | 20 ---- .../m3dbnode-cluster-a.yml | 50 ---------- .../m3dbnode-cluster-b.yml | 76 +++------------ .../replication/m3coordinator-cluster-a.yml | 20 ---- .../replication/m3coordinator-cluster-b.yml | 20 ---- .../replication/m3dbnode-cluster-a.yml | 77 +++------------ .../replication/m3dbnode-cluster-b.yml | 77 +++------------ .../simple_v2_batch_apis/m3coordinator.yml | 20 ---- .../m3query/config/testdata/config_test.yml | 32 ------- .../resources/config/m3coordinator.yml | 20 ---- .../config/m3dbnode-cluster-template.yml | 60 ------------ .../config/m3dbnode-local-etcd-proto.yml | 93 ++----------------- src/dbnode/discovery/config.go | 13 +-- .../config/m3coordinator-cluster-template.yml | 18 ---- src/query/config/m3coordinator-local-etcd.yml | 20 ---- src/query/config/m3query-dev-etcd.yml | 42 --------- src/query/config/m3query-local-etcd.yml | 41 -------- 37 files changed, 90 insertions(+), 1140 deletions(-) diff --git a/scripts/development/m3_stack/m3dbnode.yml b/scripts/development/m3_stack/m3dbnode.yml index d6129c49e0..fb3db8d151 100644 --- a/scripts/development/m3_stack/m3dbnode.yml +++ b/scripts/development/m3_stack/m3dbnode.yml @@ -12,8 +12,25 @@ db: resolver: environment envVarName: M3DB_HOST_ID + # Note: cannot use type: "m3db_single_node" since sometimes + # multiple DB nodes spawned using the m3_stack start script + # and as such the non-seed nodes need to point etcd not to + # localhost but to m3db_seed:2379 specifically. discovery: - type: m3db_single_node + config: + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - m3db_seed:2379 + seedNodes: + initialCluster: + - hostID: m3db_seed + endpoint: http://m3db_seed:2380 # proto: # schemaFilePath: /etc/m3dbnode/schema.proto diff --git a/scripts/docker-integration-tests/aggregator/m3coordinator.yml b/scripts/docker-integration-tests/aggregator/m3coordinator.yml index 35a42c248f..8d3afe98b6 100644 --- a/scripts/docker-integration-tests/aggregator/m3coordinator.yml +++ b/scripts/docker-integration-tests/aggregator/m3coordinator.yml @@ -1,21 +1,5 @@ listenAddress: 0.0.0.0:7202 -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - -tagOptions: - idScheme: quoted - carbon: ingester: listenAddress: "0.0.0.0:7204" @@ -47,8 +31,6 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority downsample: rules: diff --git a/scripts/docker-integration-tests/aggregator_legacy/m3coordinator.yml b/scripts/docker-integration-tests/aggregator_legacy/m3coordinator.yml index db8feefcd7..3649b73580 100644 --- a/scripts/docker-integration-tests/aggregator_legacy/m3coordinator.yml +++ b/scripts/docker-integration-tests/aggregator_legacy/m3coordinator.yml @@ -1,21 +1,5 @@ listenAddress: 0.0.0.0:7202 -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - -tagOptions: - idScheme: quoted - carbon: ingester: listenAddress: "0.0.0.0:7204" @@ -47,8 +31,6 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority downsample: remoteAggregator: diff --git a/scripts/docker-integration-tests/carbon/m3coordinator.yml b/scripts/docker-integration-tests/carbon/m3coordinator.yml index ba69263bc6..a883cdbc0c 100644 --- a/scripts/docker-integration-tests/carbon/m3coordinator.yml +++ b/scripts/docker-integration-tests/carbon/m3coordinator.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - clusters: - namespaces: - namespace: agg @@ -33,8 +18,6 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority carbon: ingester: @@ -56,6 +39,3 @@ carbon: policies: - resolution: 5s retention: 10h - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/cold_writes_simple/m3coordinator.yml b/scripts/docker-integration-tests/cold_writes_simple/m3coordinator.yml index 64ae45cdca..37ff9ff20f 100644 --- a/scripts/docker-integration-tests/cold_writes_simple/m3coordinator.yml +++ b/scripts/docker-integration-tests/cold_writes_simple/m3coordinator.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,8 +22,3 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/coordinator_config_rules/m3coordinator.yml b/scripts/docker-integration-tests/coordinator_config_rules/m3coordinator.yml index 1ad54297c1..46a9f4cdc7 100644 --- a/scripts/docker-integration-tests/coordinator_config_rules/m3coordinator.yml +++ b/scripts/docker-integration-tests/coordinator_config_rules/m3coordinator.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - clusters: - namespaces: - namespace: agg @@ -41,8 +26,6 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority downsample: rules: @@ -77,6 +60,3 @@ downsample: bufferPastLimits: - resolution: 0s bufferPast: 90s - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml b/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml index 92f2cdff89..11795536c2 100644 --- a/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml +++ b/scripts/docker-integration-tests/dedicated_etcd_embedded_coordinator/m3dbnode.yml @@ -18,57 +18,14 @@ coordinator: idScheme: quoted db: - logging: - level: info - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: - config: - service: - env: foo-namespace/foo-cluster - zone: bar-zone - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: bar-zone - endpoints: - - etcd01:2379 + type: m3db_cluster + m3dbCluster: + env: foo-namespace/foo-cluster + zone: bar-zone + endpoints: + - etcd01:2379 diff --git a/scripts/docker-integration-tests/multi_cluster_write/m3coordinator-cluster-a.yml b/scripts/docker-integration-tests/multi_cluster_write/m3coordinator-cluster-a.yml index 1a165ab6b9..9435c4aaf6 100644 --- a/scripts/docker-integration-tests/multi_cluster_write/m3coordinator-cluster-a.yml +++ b/scripts/docker-integration-tests/multi_cluster_write/m3coordinator-cluster-a.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,8 +22,3 @@ clusters: - zone: embedded endpoints: - cluster_a_dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/multi_cluster_write/m3coordinator-cluster-b.yml b/scripts/docker-integration-tests/multi_cluster_write/m3coordinator-cluster-b.yml index 0f434a0865..7f567e157d 100644 --- a/scripts/docker-integration-tests/multi_cluster_write/m3coordinator-cluster-b.yml +++ b/scripts/docker-integration-tests/multi_cluster_write/m3coordinator-cluster-b.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,8 +22,3 @@ clusters: - zone: embedded endpoints: - cluster_b_dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml index 25d5104038..13aac06336 100644 --- a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-a.yml @@ -1,36 +1,9 @@ db: - logging: - level: info - - tracing: - backend: jaeger - jaeger: - reporter: - localAgentHostPort: jaeger:6831 - sampler: - type: const - param: 1 - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority config: services: - service: @@ -53,27 +26,6 @@ db: - cluster_b_dbnode01:2379 async: true - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: config: service: diff --git a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml index bb7d37f422..9e59d22898 100644 --- a/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/multi_cluster_write/m3dbnode-cluster-b.yml @@ -1,58 +1,8 @@ db: - logging: - level: info - - tracing: - backend: jaeger - jaeger: - reporter: - localAgentHostPort: jaeger:6831 - sampler: - type: const - param: 1 - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: config: service: diff --git a/scripts/docker-integration-tests/prometheus/m3coordinator.yml b/scripts/docker-integration-tests/prometheus/m3coordinator.yml index f9d46f31b3..92edee33fc 100644 --- a/scripts/docker-integration-tests/prometheus/m3coordinator.yml +++ b/scripts/docker-integration-tests/prometheus/m3coordinator.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,11 +22,6 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted query: restrictTags: diff --git a/scripts/docker-integration-tests/prometheus_replication/m3coordinator01.yml b/scripts/docker-integration-tests/prometheus_replication/m3coordinator01.yml index 83d61c1b74..690e81eac6 100644 --- a/scripts/docker-integration-tests/prometheus_replication/m3coordinator01.yml +++ b/scripts/docker-integration-tests/prometheus_replication/m3coordinator01.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - writeForwarding: promRemoteWrite: targets: @@ -38,8 +23,3 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/prometheus_replication/m3coordinator02.yml b/scripts/docker-integration-tests/prometheus_replication/m3coordinator02.yml index 8d15b050d8..b593362683 100644 --- a/scripts/docker-integration-tests/prometheus_replication/m3coordinator02.yml +++ b/scripts/docker-integration-tests/prometheus_replication/m3coordinator02.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - clusters: - namespaces: - namespace: agg @@ -33,8 +18,3 @@ clusters: - zone: embedded endpoints: - dbnode02:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-a.yml b/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-a.yml index a3ef780416..85bf17a51d 100644 --- a/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-a.yml +++ b/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-a.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - # Fanout queries to remote clusters rpc: enabled: true @@ -43,8 +28,6 @@ clusters: - zone: embedded endpoints: - dbnode-cluster-a:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority carbon: ingester: @@ -55,9 +38,6 @@ carbon: - resolution: 5s retention: 10h -tagOptions: - idScheme: quoted - # Use tag consolidation here; other integration tests handle id consolidations. query: consolidation: diff --git a/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-b.yml b/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-b.yml index 2464d98685..07be9bbc8e 100644 --- a/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-b.yml +++ b/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-b.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - # Fanout queries to remote clusters rpc: enabled: true @@ -43,8 +28,6 @@ clusters: - zone: embedded endpoints: - dbnode-cluster-b:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority carbon: ingester: @@ -54,10 +37,6 @@ carbon: policies: - resolution: 5s retention: 10h - -tagOptions: - idScheme: quoted - query: consolidation: matchType: tags \ No newline at end of file diff --git a/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-c.yml b/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-c.yml index 034036b6ef..21e70608e7 100644 --- a/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-c.yml +++ b/scripts/docker-integration-tests/query_fanout/m3coordinator-cluster-c.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - # Fanout queries to remote clusters rpc: enabled: true @@ -43,8 +28,6 @@ clusters: - zone: embedded endpoints: - dbnode-cluster-c:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority carbon: ingester: @@ -55,9 +38,6 @@ carbon: - resolution: 5s retention: 10h -tagOptions: - idScheme: quoted - query: consolidation: matchType: tags \ No newline at end of file diff --git a/scripts/docker-integration-tests/repair/m3coordinator.yml b/scripts/docker-integration-tests/repair/m3coordinator.yml index 64ae45cdca..37ff9ff20f 100644 --- a/scripts/docker-integration-tests/repair/m3coordinator.yml +++ b/scripts/docker-integration-tests/repair/m3coordinator.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,8 +22,3 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/repair/m3dbnode.yml b/scripts/docker-integration-tests/repair/m3dbnode.yml index 316165d3ab..29dcc22d4b 100644 --- a/scripts/docker-integration-tests/repair/m3dbnode.yml +++ b/scripts/docker-integration-tests/repair/m3dbnode.yml @@ -1,77 +1,26 @@ db: - logging: - level: info - - tracing: - backend: jaeger - jaeger: - reporter: - localAgentHostPort: jaeger:6831 - sampler: - type: const - param: 1 - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - dbnode01:2379 - seedNodes: - initialCluster: - - hostID: m3db_local_1 - endpoint: http://dbnode01:2380 + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - dbnode01:2379 + seedNodes: + initialCluster: + - hostID: m3db_local_1 + endpoint: http://dbnode01:2380 # Enable repairs. repair: enabled: true throttle: 1ms checkInterval: 1ms - diff --git a/scripts/docker-integration-tests/repair_and_replication/m3coordinator-cluster-a.yml b/scripts/docker-integration-tests/repair_and_replication/m3coordinator-cluster-a.yml index 1a165ab6b9..fdfefaeb3a 100644 --- a/scripts/docker-integration-tests/repair_and_replication/m3coordinator-cluster-a.yml +++ b/scripts/docker-integration-tests/repair_and_replication/m3coordinator-cluster-a.yml @@ -37,8 +37,3 @@ clusters: - zone: embedded endpoints: - cluster_a_dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/repair_and_replication/m3coordinator-cluster-b.yml b/scripts/docker-integration-tests/repair_and_replication/m3coordinator-cluster-b.yml index 0f434a0865..7f567e157d 100644 --- a/scripts/docker-integration-tests/repair_and_replication/m3coordinator-cluster-b.yml +++ b/scripts/docker-integration-tests/repair_and_replication/m3coordinator-cluster-b.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,8 +22,3 @@ clusters: - zone: embedded endpoints: - cluster_b_dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml index f919c12e3e..3c3b91f4bf 100644 --- a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-a.yml @@ -1,58 +1,8 @@ db: - logging: - level: info - - tracing: - backend: jaeger - jaeger: - reporter: - localAgentHostPort: jaeger:6831 - sampler: - type: const - param: 1 - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: config: service: diff --git a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml index a3947706e2..920ab4db81 100644 --- a/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/repair_and_replication/m3dbnode-cluster-b.yml @@ -1,73 +1,23 @@ db: - logging: - level: info - - tracing: - backend: jaeger - jaeger: - reporter: - localAgentHostPort: jaeger:6831 - sampler: - type: const - param: 1 - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_b_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_b_m3db_local_1 - endpoint: http://cluster_b_dbnode01:2380 + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_b_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_b_m3db_local_1 + endpoint: http://cluster_b_dbnode01:2380 # Enable repairs (within cluster b). repair: diff --git a/scripts/docker-integration-tests/replication/m3coordinator-cluster-a.yml b/scripts/docker-integration-tests/replication/m3coordinator-cluster-a.yml index 1a165ab6b9..9435c4aaf6 100644 --- a/scripts/docker-integration-tests/replication/m3coordinator-cluster-a.yml +++ b/scripts/docker-integration-tests/replication/m3coordinator-cluster-a.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,8 +22,3 @@ clusters: - zone: embedded endpoints: - cluster_a_dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/replication/m3coordinator-cluster-b.yml b/scripts/docker-integration-tests/replication/m3coordinator-cluster-b.yml index 0f434a0865..7f567e157d 100644 --- a/scripts/docker-integration-tests/replication/m3coordinator-cluster-b.yml +++ b/scripts/docker-integration-tests/replication/m3coordinator-cluster-b.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,8 +22,3 @@ clusters: - zone: embedded endpoints: - cluster_b_dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml b/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml index b94735049a..52e75125c5 100644 --- a/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml +++ b/scripts/docker-integration-tests/replication/m3dbnode-cluster-a.yml @@ -1,73 +1,23 @@ db: - logging: - level: info - - tracing: - backend: jaeger - jaeger: - reporter: - localAgentHostPort: jaeger:6831 - sampler: - type: const - param: 1 - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_a_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_a_m3db_local_1 - endpoint: http://cluster_a_dbnode01:2380 + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_a_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_a_m3db_local_1 + endpoint: http://cluster_a_dbnode01:2380 # Disable repairs (within cluster a). repair: @@ -91,4 +41,3 @@ db: - zone: embedded endpoints: - cluster_b_dbnode01:2379 - diff --git a/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml b/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml index 9f624d5fe9..2d04a09719 100644 --- a/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml +++ b/scripts/docker-integration-tests/replication/m3dbnode-cluster-b.yml @@ -1,73 +1,23 @@ db: - logging: - level: info - - tracing: - backend: jaeger - jaeger: - reporter: - localAgentHostPort: jaeger:6831 - sampler: - type: const - param: 1 - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: environment envVarName: M3DB_HOST_ID - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - cluster_b_dbnode01:2379 - seedNodes: - initialCluster: - - hostID: cluster_b_m3db_local_1 - endpoint: http://cluster_b_dbnode01:2380 + service: + env: default_env + zone: embedded + service: m3db + cacheDir: /var/lib/m3kv + etcdClusters: + - zone: embedded + endpoints: + - cluster_b_dbnode01:2379 + seedNodes: + initialCluster: + - hostID: cluster_b_m3db_local_1 + endpoint: http://cluster_b_dbnode01:2380 # Disable repairs (within cluster b). repair: @@ -93,4 +43,3 @@ db: - zone: embedded endpoints: - cluster_a_dbnode01:2379 - diff --git a/scripts/docker-integration-tests/simple_v2_batch_apis/m3coordinator.yml b/scripts/docker-integration-tests/simple_v2_batch_apis/m3coordinator.yml index 68f407d984..83e9cf4df4 100644 --- a/scripts/docker-integration-tests/simple_v2_batch_apis/m3coordinator.yml +++ b/scripts/docker-integration-tests/simple_v2_batch_apis/m3coordinator.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - limits: perQuery: maxFetchedSeries: 100 @@ -37,9 +22,4 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority useV2BatchAPIs: true - -tagOptions: - idScheme: quoted diff --git a/src/cmd/services/m3query/config/testdata/config_test.yml b/src/cmd/services/m3query/config/testdata/config_test.yml index 68250c3f0d..dbe0cbb233 100644 --- a/src/cmd/services/m3query/config/testdata/config_test.yml +++ b/src/cmd/services/m3query/config/testdata/config_test.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - clusters: - namespaces: - namespace: default @@ -33,23 +18,6 @@ clusters: initialCluster: - hostID: m3db_local endpoint: http://127.0.0.1:2380 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - writeTimeout: 10s - fetchTimeout: 15s - connectTimeout: 20s - writeRetry: - initialBackoff: 500ms - backoffFactor: 3 - maxRetries: 2 - jitter: true - fetchRetry: - initialBackoff: 500ms - backoffFactor: 2 - maxRetries: 3 - jitter: true - backgroundHealthCheckFailLimit: 4 - backgroundHealthCheckFailThrottleFactor: 0.5 limits: perQuery: diff --git a/src/cmd/tools/dtest/docker/harness/resources/config/m3coordinator.yml b/src/cmd/tools/dtest/docker/harness/resources/config/m3coordinator.yml index 53764669f0..536499f031 100644 --- a/src/cmd/tools/dtest/docker/harness/resources/config/m3coordinator.yml +++ b/src/cmd/tools/dtest/docker/harness/resources/config/m3coordinator.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - clusters: - namespaces: - namespace: aggregated @@ -33,8 +18,6 @@ clusters: - zone: embedded endpoints: - dbnode01:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority carbon: ingester: @@ -56,6 +39,3 @@ carbon: policies: - resolution: 5s retention: 10h - -tagOptions: - idScheme: quoted diff --git a/src/dbnode/config/m3dbnode-cluster-template.yml b/src/dbnode/config/m3dbnode-cluster-template.yml index fe4de58051..4d6689a84c 100644 --- a/src/dbnode/config/m3dbnode-cluster-template.yml +++ b/src/dbnode/config/m3dbnode-cluster-template.yml @@ -1,40 +1,11 @@ coordinator: - listenAddress: 0.0.0.0:7201 - local: namespaces: - namespace: default type: unaggregated retention: 48h - logging: - level: info - - metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - - tagOptions: - # Configuration setting for generating metric IDs from tags. - idScheme: quoted - db: - logging: - level: info - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - hostID: resolver: hostname @@ -59,34 +30,3 @@ db: # endpoint: http://HOST2_STATIC_IP_ADDRESS:2380 # - hostID: host3 # endpoint: http://HOST3_STATIC_IP_ADDRESS:2380 - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db diff --git a/src/dbnode/config/m3dbnode-local-etcd-proto.yml b/src/dbnode/config/m3dbnode-local-etcd-proto.yml index d28eb00d46..3b49b3574f 100644 --- a/src/dbnode/config/m3dbnode-local-etcd-proto.yml +++ b/src/dbnode/config/m3dbnode-local-etcd-proto.yml @@ -1,101 +1,22 @@ coordinator: - listenAddress: 0.0.0.0:7201 - local: namespaces: - namespace: default type: unaggregated retention: 48h - logging: - level: info - - metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - - tagOptions: - # Configuration setting for generating metric IDs from tags. - idScheme: quoted - db: - logging: - level: info - - metrics: - prometheus: - handlerPath: /metrics - sanitization: prometheus - samplingRate: 1.0 - extended: detailed - - listenAddress: 0.0.0.0:9000 - clusterListenAddress: 0.0.0.0:9001 - httpNodeListenAddress: 0.0.0.0:9002 - httpClusterListenAddress: 0.0.0.0:9003 - debugListenAddress: 0.0.0.0:9004 - hostID: resolver: config value: m3db_local - client: - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - - gcPercentage: 100 - - writeNewSeriesAsync: true - writeNewSeriesBackoffDuration: 2ms - - cache: - series: - policy: lru - postingsList: - size: 262144 - - commitlog: - flushMaxBytes: 524288 - flushEvery: 1s - queue: - calculationType: fixed - size: 2097152 - - filesystem: - filePathPrefix: /var/lib/m3db - discovery: - config: - service: - env: default_env - zone: embedded - service: m3db - cacheDir: /var/lib/m3kv - etcdClusters: - - zone: embedded - endpoints: - - 127.0.0.1:2379 - seedNodes: - initialCluster: - - hostID: m3db_local - endpoint: http://127.0.0.1:2380 + type: m3db_single_node proto: - enabled: true - schema_registry: - # Need an entry for each configured namespace. - "default": - schemaFilePath: "/etc/m3dbnode/default_schema.proto" - messageName: "VehicleLocation" - - # un-comment the lines below to enable Jaeger tracing. See https://www.jaegertracing.io/docs/1.9/getting-started/ - # for quick local setup (which this config will send data to). - - # tracing: - # backend: jaeger + enabled: true + schema_registry: + # Need an entry for each configured namespace. + "default": + schemaFilePath: "/etc/m3dbnode/default_schema.proto" + messageName: "VehicleLocation" diff --git a/src/dbnode/discovery/config.go b/src/dbnode/discovery/config.go index 17d3d98a33..8cb86318a1 100644 --- a/src/dbnode/discovery/config.go +++ b/src/dbnode/discovery/config.go @@ -22,7 +22,6 @@ package discovery import ( - "errors" "fmt" etcdclient "github.com/m3db/m3/src/cluster/client/etcd" @@ -98,7 +97,6 @@ func (t ConfigurationType) String() string { case M3AggregatorClusterType: return "m3aggregator_cluster" } - return "unknown" } @@ -148,6 +146,7 @@ func (c *Configuration) EnvironmentConfig( return c.m3dbSingleNodeEnvConfig(hostID), nil case M3DBClusterType: return c.envConfig( + discoveryConfigType, defaultM3DBService, c.M3DBCluster.Zone, c.M3DBCluster.Env, @@ -155,6 +154,7 @@ func (c *Configuration) EnvironmentConfig( ) case M3AggregatorClusterType: return c.envConfig( + discoveryConfigType, defaultM3AggregatorService, c.M3AggregatorCluster.Zone, c.M3AggregatorCluster.Env, @@ -197,15 +197,16 @@ func (c *Configuration) m3dbSingleNodeEnvConfig( } func (c *Configuration) envConfig( + configType ConfigurationType, service string, zone *string, env string, endpoints []string, -) ( - environment.Configuration, error) { +) (environment.Configuration, error) { if c == nil { - return environment.Configuration{}, - errors.New("discovery type specified required m3AggregatorCluster section") + err := fmt.Errorf("discovery configuration required for type: %s", + configType.String()) + return environment.Configuration{}, err } validZone := defaultZone diff --git a/src/query/config/m3coordinator-cluster-template.yml b/src/query/config/m3coordinator-cluster-template.yml index 79887d3388..bed8f8cae3 100644 --- a/src/query/config/m3coordinator-cluster-template.yml +++ b/src/query/config/m3coordinator-cluster-template.yml @@ -1,21 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - -tagOptions: - idScheme: quoted - clusters: ## Fill-out the following and un-comment before using, and ## make sure indent by two spaces is applied. diff --git a/src/query/config/m3coordinator-local-etcd.yml b/src/query/config/m3coordinator-local-etcd.yml index 0dfefbd45f..1fb1940638 100644 --- a/src/query/config/m3coordinator-local-etcd.yml +++ b/src/query/config/m3coordinator-local-etcd.yml @@ -1,18 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - clusters: - namespaces: - namespace: default @@ -29,8 +14,3 @@ clusters: - zone: embedded endpoints: - 127.0.0.1:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - -tagOptions: - idScheme: quoted diff --git a/src/query/config/m3query-dev-etcd.yml b/src/query/config/m3query-dev-etcd.yml index cdaf363ce9..90a62af0d9 100644 --- a/src/query/config/m3query-dev-etcd.yml +++ b/src/query/config/m3query-dev-etcd.yml @@ -1,21 +1,5 @@ # m3query configuration for local development setup. Mostly the same as m3query-local-etcd.yml, but using fewer # resources (threads primarily). - -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - clusters: - namespaces: - namespace: default @@ -32,23 +16,6 @@ clusters: - zone: embedded endpoints: - 127.0.0.1:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - writeTimeout: 10s - fetchTimeout: 15s - connectTimeout: 20s - writeRetry: - initialBackoff: 500ms - backoffFactor: 3 - maxRetries: 2 - jitter: true - fetchRetry: - initialBackoff: 500ms - backoffFactor: 2 - maxRetries: 3 - jitter: true - backgroundHealthCheckFailLimit: 4 - backgroundHealthCheckFailThrottleFactor: 0.5 readWorkerPoolPolicy: grow: false @@ -57,12 +24,3 @@ readWorkerPoolPolicy: writeWorkerPoolPolicy: grow: false size: 10 - -tagOptions: - idScheme: quoted - -# Uncomment this to enable local jaeger tracing. See https://www.jaegertracing.io/docs/1.9/getting-started/ -# for quick local setup (which this config will send data to). - -# tracing: -# backend: jaeger diff --git a/src/query/config/m3query-local-etcd.yml b/src/query/config/m3query-local-etcd.yml index f63b801a41..1fb1940638 100644 --- a/src/query/config/m3query-local-etcd.yml +++ b/src/query/config/m3query-local-etcd.yml @@ -1,21 +1,3 @@ -listenAddress: 0.0.0.0:7201 - -logging: - level: info - -metrics: - scope: - prefix: "coordinator" - prometheus: - handlerPath: /metrics - listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved - sanitization: prometheus - samplingRate: 1.0 - extended: none - -tagOptions: - idScheme: quoted - clusters: - namespaces: - namespace: default @@ -32,26 +14,3 @@ clusters: - zone: embedded endpoints: - 127.0.0.1:2379 - writeConsistencyLevel: majority - readConsistencyLevel: unstrict_majority - writeTimeout: 10s - fetchTimeout: 15s - connectTimeout: 20s - writeRetry: - initialBackoff: 500ms - backoffFactor: 3 - maxRetries: 2 - jitter: true - fetchRetry: - initialBackoff: 500ms - backoffFactor: 2 - maxRetries: 3 - jitter: true - backgroundHealthCheckFailLimit: 4 - backgroundHealthCheckFailThrottleFactor: 0.5 - -# Uncomment this to enable local jaeger tracing. See https://www.jaegertracing.io/docs/1.9/getting-started/ -# for quick local setup (which this config will send data to). - -# tracing: -# backend: jaeger From 2e0571c0e1a1726cc4d21dc4c6bced87c6b54097 Mon Sep 17 00:00:00 2001 From: Rob Skillington Date: Mon, 9 Nov 2020 11:57:35 -0500 Subject: [PATCH 41/41] Add nlreturn to disabled linters --- .golangci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 5cb97c4887..8ecd89e592 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -212,6 +212,9 @@ linters: # We allow cuddling assignment following conditions because there are valid # logical groupings for this use-case (e.g. when evaluating config values). - wsl + # New line required before return would require a large fraction of the + # code base to need updating, it's not worth the perceived benefit. + - nlreturn disable-all: false presets: # bodyclose, errcheck, gosec, govet, scopelint, staticcheck, typecheck