Skip to content

Commit

Permalink
wip: split the is_importing stat
Browse files Browse the repository at this point in the history
  • Loading branch information
elhmn committed Jan 17, 2025
1 parent d6e09d5 commit b720153
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
4 changes: 4 additions & 0 deletions internal/governor/conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,10 @@ func readSockstat(environ []string) updateData {
res.GroupLeader = sockstat.GetBool(parts[1])
case "is_importing":
res.IsImporting = sockstat.BoolValue(parts[1])
case "import_skip_push_limit":
res.ImportSkipPushLimit = sockstat.BoolValue(parts[1])
case "import_soft_throttling":
res.ImportSoftThrottling = sockstat.BoolValue(parts[1])
}
}

Expand Down
6 changes: 6 additions & 0 deletions internal/governor/governor.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ type updateData struct {
CommandID string `json:"command_id,omitempty"`
// IsImporting is true if the command is an import.
IsImporting bool `json:"is_importing,omitempty"`
// ImportSkipPushLimit is true if the command is an import and
// we want to skip the push limit for a command.
ImportSkipPushLimit bool `json:"import_skip_push_limit,omitempty"`
// ImportSoftThrottling is true if the command is an import and
// we want to apply it some soft throttling policies.
ImportSoftThrottling bool `json:"import_soft_throttling,omitempty"`
}

func update(w io.Writer, ud updateData) error {
Expand Down
10 changes: 9 additions & 1 deletion internal/spokes/spokes.go
Original file line number Diff line number Diff line change
Expand Up @@ -955,7 +955,11 @@ func (r *spokesReceivePack) isFsckConfigEnabled() bool {
}

func (r *spokesReceivePack) getMaxInputSize() (int, error) {
if isImporting() {
// We want to skip the default push limit when the `import_skip_push_limit`
// stat is set only.
// We keep using the `is_import` here for backward compatibility only,
// which should be removed on a subsequent PR.
if isImporting() || skipPushLimit() {
return 80 * 1024 * 1024 * 1024, nil /* 80 GB */
}

Expand Down Expand Up @@ -1234,6 +1238,10 @@ func isImporting() bool {
return sockstat.GetBool("is_importing")
}

func skipPushLimit() bool {
return sockstat.GetBool("import_skip_push_limit")
}

func allowBadDate() bool {
return isImporting() && sockstat.GetBool("allow_baddate_in_import")
}
Expand Down

0 comments on commit b720153

Please sign in to comment.