question (?) as argument in interactive commands
This commit is contained in:
parent
5af70265a3
commit
779e9fdd83
@ -126,7 +126,7 @@ func (this *Server) applyServerCommand(command string, writer *bufio.Writer) (pr
|
|||||||
if len(tokens) > 1 {
|
if len(tokens) > 1 {
|
||||||
arg = strings.TrimSpace(tokens[1])
|
arg = strings.TrimSpace(tokens[1])
|
||||||
}
|
}
|
||||||
|
argIsQuestion := (arg == "?")
|
||||||
throttleHint := "# Note: you may only throttle for as long as your binary logs are not purged\n"
|
throttleHint := "# Note: you may only throttle for as long as your binary logs are not purged\n"
|
||||||
|
|
||||||
if err := this.hooksExecutor.onInteractiveCommand(command); err != nil {
|
if err := this.hooksExecutor.onInteractiveCommand(command); err != nil {
|
||||||
@ -152,6 +152,7 @@ no-throttle # End forced throttling (other throttling m
|
|||||||
unpostpone # Bail out a cut-over postpone; proceed to cut-over
|
unpostpone # Bail out a cut-over postpone; proceed to cut-over
|
||||||
panic # panic and quit without cleanup
|
panic # panic and quit without cleanup
|
||||||
help # This message
|
help # This message
|
||||||
|
- use '?' (question mark) as argument to get info rather than set. e.g. "max-load=?" will just print out current max-load.
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
case "sup":
|
case "sup":
|
||||||
@ -160,6 +161,10 @@ help # This message
|
|||||||
return ForcePrintStatusAndHintRule, nil
|
return ForcePrintStatusAndHintRule, nil
|
||||||
case "chunk-size":
|
case "chunk-size":
|
||||||
{
|
{
|
||||||
|
if argIsQuestion {
|
||||||
|
fmt.Fprintf(writer, "%+v\n", atomic.LoadInt64(&this.migrationContext.ChunkSize))
|
||||||
|
return NoPrintStatusRule, nil
|
||||||
|
}
|
||||||
if chunkSize, err := strconv.Atoi(arg); err != nil {
|
if chunkSize, err := strconv.Atoi(arg); err != nil {
|
||||||
return NoPrintStatusRule, err
|
return NoPrintStatusRule, err
|
||||||
} else {
|
} else {
|
||||||
@ -169,6 +174,10 @@ help # This message
|
|||||||
}
|
}
|
||||||
case "max-lag-millis":
|
case "max-lag-millis":
|
||||||
{
|
{
|
||||||
|
if argIsQuestion {
|
||||||
|
fmt.Fprintf(writer, "%+v\n", atomic.LoadInt64(&this.migrationContext.MaxLagMillisecondsThrottleThreshold))
|
||||||
|
return NoPrintStatusRule, nil
|
||||||
|
}
|
||||||
if maxLagMillis, err := strconv.Atoi(arg); err != nil {
|
if maxLagMillis, err := strconv.Atoi(arg); err != nil {
|
||||||
return NoPrintStatusRule, err
|
return NoPrintStatusRule, err
|
||||||
} else {
|
} else {
|
||||||
@ -182,6 +191,10 @@ help # This message
|
|||||||
}
|
}
|
||||||
case "nice-ratio":
|
case "nice-ratio":
|
||||||
{
|
{
|
||||||
|
if argIsQuestion {
|
||||||
|
fmt.Fprintf(writer, "%+v\n", this.migrationContext.GetNiceRatio())
|
||||||
|
return NoPrintStatusRule, nil
|
||||||
|
}
|
||||||
if niceRatio, err := strconv.ParseFloat(arg, 64); err != nil {
|
if niceRatio, err := strconv.ParseFloat(arg, 64); err != nil {
|
||||||
return NoPrintStatusRule, err
|
return NoPrintStatusRule, err
|
||||||
} else {
|
} else {
|
||||||
@ -191,6 +204,11 @@ help # This message
|
|||||||
}
|
}
|
||||||
case "max-load":
|
case "max-load":
|
||||||
{
|
{
|
||||||
|
if argIsQuestion {
|
||||||
|
maxLoad := this.migrationContext.GetMaxLoad()
|
||||||
|
fmt.Fprintf(writer, "%s\n", maxLoad.String())
|
||||||
|
return NoPrintStatusRule, nil
|
||||||
|
}
|
||||||
if err := this.migrationContext.ReadMaxLoad(arg); err != nil {
|
if err := this.migrationContext.ReadMaxLoad(arg); err != nil {
|
||||||
return NoPrintStatusRule, err
|
return NoPrintStatusRule, err
|
||||||
}
|
}
|
||||||
@ -198,6 +216,11 @@ help # This message
|
|||||||
}
|
}
|
||||||
case "critical-load":
|
case "critical-load":
|
||||||
{
|
{
|
||||||
|
if argIsQuestion {
|
||||||
|
criticalLoad := this.migrationContext.GetCriticalLoad()
|
||||||
|
fmt.Fprintf(writer, "%s\n", criticalLoad.String())
|
||||||
|
return NoPrintStatusRule, nil
|
||||||
|
}
|
||||||
if err := this.migrationContext.ReadCriticalLoad(arg); err != nil {
|
if err := this.migrationContext.ReadCriticalLoad(arg); err != nil {
|
||||||
return NoPrintStatusRule, err
|
return NoPrintStatusRule, err
|
||||||
}
|
}
|
||||||
@ -205,12 +228,20 @@ help # This message
|
|||||||
}
|
}
|
||||||
case "throttle-query":
|
case "throttle-query":
|
||||||
{
|
{
|
||||||
|
if argIsQuestion {
|
||||||
|
fmt.Fprintf(writer, "%+v\n", this.migrationContext.GetThrottleQuery())
|
||||||
|
return NoPrintStatusRule, nil
|
||||||
|
}
|
||||||
this.migrationContext.SetThrottleQuery(arg)
|
this.migrationContext.SetThrottleQuery(arg)
|
||||||
fmt.Fprintf(writer, throttleHint)
|
fmt.Fprintf(writer, throttleHint)
|
||||||
return ForcePrintStatusAndHintRule, nil
|
return ForcePrintStatusAndHintRule, nil
|
||||||
}
|
}
|
||||||
case "throttle-control-replicas":
|
case "throttle-control-replicas":
|
||||||
{
|
{
|
||||||
|
if argIsQuestion {
|
||||||
|
fmt.Fprintf(writer, "%s\n", this.migrationContext.GetThrottleControlReplicaKeys().ToCommaDelimitedList())
|
||||||
|
return NoPrintStatusRule, nil
|
||||||
|
}
|
||||||
if err := this.migrationContext.ReadThrottleControlReplicaKeys(arg); err != nil {
|
if err := this.migrationContext.ReadThrottleControlReplicaKeys(arg); err != nil {
|
||||||
return NoPrintStatusRule, err
|
return NoPrintStatusRule, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user