backport of commit bd519dcbf429164c8a81b84247ffe1c776bb4f8d (#18499)

Co-authored-by: stswidwinski <stan.swidwinski@gmail.com>
This commit is contained in:
hc-github-team-nomad-core 2023-09-14 08:01:31 -05:00 committed by GitHub
parent 6a4a3f6d78
commit b2f88f10a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 0 deletions

3
.changelog/18494.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:bug
server: Fixed a bug where Raft server configuration parameters were not correctly merged
```

View File

@ -2038,6 +2038,18 @@ func (s *ServerConfig) Merge(b *ServerConfig) *ServerConfig {
}
}
if b.RaftSnapshotThreshold != nil {
result.RaftSnapshotThreshold = pointer.Of(*b.RaftSnapshotThreshold)
}
if b.RaftSnapshotInterval != nil {
result.RaftSnapshotInterval = pointer.Of(*b.RaftSnapshotInterval)
}
if b.RaftTrailingLogs != nil {
result.RaftTrailingLogs = pointer.Of(*b.RaftTrailingLogs)
}
if b.JobTrackedVersions != nil {
result.JobTrackedVersions = b.JobTrackedVersions
}

View File

@ -141,6 +141,9 @@ func TestConfig_Merge(t *testing.T) {
ProtocolVersion: 1,
RaftProtocol: 1,
RaftMultiplier: pointer.Of(5),
RaftSnapshotThreshold: pointer.Of(100),
RaftSnapshotInterval: pointer.Of("30m"),
RaftTrailingLogs: pointer.Of(200),
NumSchedulers: pointer.Of(1),
NodeGCThreshold: "1h",
BatchEvalGCThreshold: "4h",
@ -341,6 +344,9 @@ func TestConfig_Merge(t *testing.T) {
ProtocolVersion: 2,
RaftProtocol: 2,
RaftMultiplier: pointer.Of(6),
RaftSnapshotThreshold: pointer.Of(100),
RaftSnapshotInterval: pointer.Of("30m"),
RaftTrailingLogs: pointer.Of(200),
NumSchedulers: pointer.Of(2),
EnabledSchedulers: []string{structs.JobTypeBatch},
NodeGCThreshold: "12h",