mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
Merge pull request #942 from codysoyland/915-undocumented-flags
Add flag documentation and tests, remove "plugins.path"
This commit is contained in:
commit
9e458aecd5
6 changed files with 40 additions and 25 deletions
|
|
@ -45,10 +45,11 @@ func TestServerConfig(t *testing.T) {
|
|||
// TEST 0
|
||||
{
|
||||
args: []string{"server", "--data-dir", actualDataDir, "--cluster.hosts", "localhost:10111,localhost:10110", "--bind", "localhost:10111"},
|
||||
env: map[string]string{"PILOSA_DATA_DIR": "/tmp/myEnvDatadir", "PILOSA_CLUSTER_POLL_INTERVAL": "3m2s"},
|
||||
env: map[string]string{"PILOSA_DATA_DIR": "/tmp/myEnvDatadir", "PILOSA_CLUSTER_POLL_INTERVAL": "3m2s", "PILOSA_CLUSTER_LONG_QUERY_TIME": "1m30s", "PILOSA_MAX_WRITES_PER_REQUEST": "2000"},
|
||||
cfgFileContent: `
|
||||
data-dir = "/tmp/myFileDatadir"
|
||||
bind = "localhost:0"
|
||||
max-writes-per-request = 3000
|
||||
|
||||
[cluster]
|
||||
poll-interval = "45s"
|
||||
|
|
@ -57,6 +58,7 @@ func TestServerConfig(t *testing.T) {
|
|||
hosts = [
|
||||
"localhost:19444",
|
||||
]
|
||||
long-query-time = "1m10s"
|
||||
`,
|
||||
validation: func() error {
|
||||
v := validator{}
|
||||
|
|
@ -65,6 +67,8 @@ func TestServerConfig(t *testing.T) {
|
|||
v.Check(cmd.Server.Config.Cluster.ReplicaN, 2)
|
||||
v.Check(cmd.Server.Config.Cluster.Hosts, []string{"localhost:10111", "localhost:10110"})
|
||||
v.Check(cmd.Server.Config.Cluster.PollInterval, pilosa.Duration(time.Second*182))
|
||||
v.Check(cmd.Server.Config.Cluster.LongQueryTime, pilosa.Duration(time.Second*90))
|
||||
v.Check(cmd.Server.Config.MaxWritesPerRequest, 2000)
|
||||
return v.Error()
|
||||
},
|
||||
},
|
||||
|
|
@ -80,13 +84,10 @@ func TestServerConfig(t *testing.T) {
|
|||
hosts = [
|
||||
"localhost:19444",
|
||||
]
|
||||
[plugins]
|
||||
path = "/var/sloth"
|
||||
`,
|
||||
validation: func() error {
|
||||
v := validator{}
|
||||
v.Check(cmd.Server.Config.Cluster.Hosts, []string{"localhost:1110", "localhost:1111"})
|
||||
v.Check(cmd.Server.Config.Plugins.Path, "/var/sloth")
|
||||
v.Check(cmd.Server.Config.AntiEntropy.Interval, pilosa.Duration(time.Minute*9))
|
||||
return v.Error()
|
||||
},
|
||||
|
|
|
|||
|
|
@ -81,10 +81,6 @@ type Config struct {
|
|||
LongQueryTime Duration `toml:"long-query-time"`
|
||||
} `toml:"cluster"`
|
||||
|
||||
Plugins struct {
|
||||
Path string `toml:"path"`
|
||||
} `toml:"plugins"`
|
||||
|
||||
AntiEntropy struct {
|
||||
Interval Duration `toml:"interval"`
|
||||
} `toml:"anti-entropy"`
|
||||
|
|
|
|||
|
|
@ -60,9 +60,6 @@ max-writes-per-request = 5000
|
|||
service = "statsd"
|
||||
host = "127.0.0.1:8125"
|
||||
poll-interval = "0m15s"
|
||||
|
||||
[plugins]
|
||||
path = ""
|
||||
`)+"\n")
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,8 +35,7 @@ func BuildServerFlags(cmd *cobra.Command, srv *server.Command) {
|
|||
flags.IntVarP(&srv.Config.Cluster.ReplicaN, "cluster.replicas", "", 1, "Number of hosts each piece of data should be stored on.")
|
||||
flags.StringSliceVarP(&srv.Config.Cluster.Hosts, "cluster.hosts", "", []string{}, "Comma separated list of hosts in cluster.")
|
||||
flags.DurationVarP((*time.Duration)(&srv.Config.Cluster.PollInterval), "cluster.poll-interval", "", time.Minute, "Polling interval for cluster.") // TODO what actually is this?
|
||||
flags.DurationVarP((*time.Duration)(&srv.Config.Cluster.LongQueryTime), "cluster.long-query-time", "", time.Minute, "Long Query Time.")
|
||||
flags.StringVarP(&srv.Config.Plugins.Path, "plugins.path", "", "", "Path to plugin directory.")
|
||||
flags.DurationVarP((*time.Duration)(&srv.Config.Cluster.LongQueryTime), "cluster.long-query-time", "", time.Minute, "Duration that will trigger log and stat messages for slow queries.")
|
||||
flags.StringVar(&srv.Config.LogPath, "log-path", "", "Log path")
|
||||
flags.DurationVarP((*time.Duration)(&srv.Config.AntiEntropy.Interval), "anti-entropy.interval", "", time.Minute*10, "Interval at which to run anti-entropy routine.")
|
||||
flags.StringVarP(&srv.CPUProfile, "profile.cpu", "", "", "Where to store CPU profile.")
|
||||
|
|
|
|||
|
|
@ -76,6 +76,28 @@ Any flag that has a value that is a comma separated list on the command line bec
|
|||
data-dir = "~/.pilosa"
|
||||
```
|
||||
|
||||
#### Log Path
|
||||
|
||||
* Description: Path of log file.
|
||||
* Flag: `--log-path="/path/to/logfile"`
|
||||
* Env: `PILOSA_LOG_PATH="/path/to/logfile"`
|
||||
* Config:
|
||||
|
||||
```toml
|
||||
log_path = "/path/to/logfile"
|
||||
```
|
||||
|
||||
#### Max Writes Per Request
|
||||
|
||||
* Description: Maximum number of mutating commands allowed per request. This includes SetBit, ClearBit, SetRowAttrs, SetColumnAttrs, and SetFieldValue.
|
||||
* Flag: `--max-writes-per-request=5000`
|
||||
* Env: `PILOSA_MAX_WRITES_PER_REQUEST=5000`
|
||||
* Config:
|
||||
|
||||
```toml
|
||||
max-writes-per-request = 5000
|
||||
```
|
||||
|
||||
#### Gossip Port
|
||||
|
||||
* Description: Port to which Pilosa should bind for internal communication.
|
||||
|
|
@ -135,6 +157,18 @@ Any flag that has a value that is a comma separated list on the command line bec
|
|||
poll-interval = "1m0s"
|
||||
```
|
||||
|
||||
#### Cluster Long Query Time
|
||||
|
||||
* Description: Duration that will trigger log and stat messages for slow queries.
|
||||
* Flag: `cluster.long-query-time="1m0s"`
|
||||
* Env: `PILOSA_CLUSTER_LONG_QUERY_TIME="1m0s"`
|
||||
* Config:
|
||||
|
||||
```toml
|
||||
[cluster]
|
||||
long-query-time = "1m0s"
|
||||
```
|
||||
|
||||
#### Cluster Replicas
|
||||
|
||||
* Description: Number of hosts each piece of data should be stored on.
|
||||
|
|
|
|||
|
|
@ -363,18 +363,6 @@ func TestConfig_Parse_DataDir(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
// Ensure the "plugins" config can be parsed.
|
||||
func TestConfig_Parse_Plugins(t *testing.T) {
|
||||
if c, err := ParseConfig(`
|
||||
[plugins]
|
||||
path = "/path/to/plugins"
|
||||
`); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if c.Plugins.Path != "/path/to/plugins" {
|
||||
t.Fatalf("unexpected path: %s", c.Plugins.Path)
|
||||
}
|
||||
}
|
||||
|
||||
// tempMkdir makes a temporary directory
|
||||
func tempMkdir(t *testing.T) string {
|
||||
dir, err := ioutil.TempDir("", "pilosatemp")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue