本文整理汇总了Golang中github.com/cockroachdb/cockroach/pkg/base.TestServerArgs.StoreSpecs方法的典型用法代码示例。如果您正苦于以下问题:Golang TestServerArgs.StoreSpecs方法的具体用法?Golang TestServerArgs.StoreSpecs怎么用?Golang TestServerArgs.StoreSpecs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cockroachdb/cockroach/pkg/base.TestServerArgs
的用法示例。
在下文中一共展示了TestServerArgs.StoreSpecs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: makeTestConfigFromParams
// makeTestConfigtFromParams creates a Config from a TestServerParams.
func makeTestConfigFromParams(params base.TestServerArgs) Config {
cfg := makeTestConfig()
cfg.TestingKnobs = params.Knobs
if params.JoinAddr != "" {
cfg.JoinList = []string{params.JoinAddr}
}
cfg.Insecure = params.Insecure
cfg.SocketFile = params.SocketFile
cfg.RetryOptions = params.RetryOptions
if params.MetricsSampleInterval != 0 {
cfg.MetricsSampleInterval = params.MetricsSampleInterval
}
if params.RaftTickInterval != 0 {
cfg.RaftTickInterval = params.RaftTickInterval
}
if params.RaftElectionTimeoutTicks != 0 {
cfg.RaftElectionTimeoutTicks = params.RaftElectionTimeoutTicks
}
if knobs := params.Knobs.Store; knobs != nil {
if mo := knobs.(*storage.StoreTestingKnobs).MaxOffset; mo != 0 {
cfg.MaxOffset = mo
}
}
if params.ScanInterval != 0 {
cfg.ScanInterval = params.ScanInterval
}
if params.ScanMaxIdleTime != 0 {
cfg.ScanMaxIdleTime = params.ScanMaxIdleTime
}
if params.SSLCA != "" {
cfg.SSLCA = params.SSLCA
}
if params.SSLCert != "" {
cfg.SSLCert = params.SSLCert
}
if params.SSLCertKey != "" {
cfg.SSLCertKey = params.SSLCertKey
}
if params.TimeSeriesQueryWorkerMax != 0 {
cfg.TimeSeriesServerConfig.QueryWorkerMax = params.TimeSeriesQueryWorkerMax
}
if params.DisableEventLog {
cfg.EventLogEnabled = false
}
cfg.JoinList = []string{params.JoinAddr}
if cfg.Insecure {
// Whenever we can (i.e. in insecure mode), use IsolatedTestAddr
// to prevent issues that can occur when running a test under
// stress.
cfg.Addr = util.IsolatedTestAddr.String()
cfg.AdvertiseAddr = util.IsolatedTestAddr.String()
cfg.HTTPAddr = util.IsolatedTestAddr.String()
} else {
cfg.Addr = util.TestAddr.String()
cfg.AdvertiseAddr = util.TestAddr.String()
cfg.HTTPAddr = util.TestAddr.String()
}
if params.Addr != "" {
cfg.Addr = params.Addr
cfg.AdvertiseAddr = params.Addr
}
// Ensure we have the correct number of engines. Add in-memory ones where
// needed. There must be at least one store/engine.
if len(params.StoreSpecs) == 0 {
params.StoreSpecs = []base.StoreSpec{base.DefaultTestStoreSpec}
}
// Validate the store specs.
for _, storeSpec := range params.StoreSpecs {
if storeSpec.InMemory {
if storeSpec.SizePercent > 0 {
panic(fmt.Sprintf("test server does not yet support in memory stores based on percentage of total memory: %s", storeSpec))
}
} else {
// TODO(bram): This will require some cleanup of on disk files.
panic(fmt.Sprintf("test server does not yet support on disk stores: %s", storeSpec))
}
}
// Copy over the store specs.
cfg.Stores = base.StoreSpecList{Specs: params.StoreSpecs}
if cfg.TestingKnobs.Store == nil {
cfg.TestingKnobs.Store = &storage.StoreTestingKnobs{}
}
cfg.TestingKnobs.Store.(*storage.StoreTestingKnobs).SkipMinSizeCheck = true
return cfg
}