@@ -5,6 +5,11 @@ import (
55 "crypto/tls"
66 "errors"
77 "fmt"
8+ "github.com/hashicorp/vault/sdk/helper/consts"
9+ "github.com/hashicorp/vault/sdk/helper/jsonutil"
10+ "github.com/hashicorp/vault/sdk/helper/tlsutil"
11+ "github.com/hashicorp/vault/sdk/logical"
12+ "github.com/hashicorp/vault/sdk/physical"
813 "io"
914 "io/ioutil"
1015 "os"
@@ -24,11 +29,6 @@ import (
2429 autopilot "github.com/hashicorp/raft-autopilot"
2530 snapshot "github.com/hashicorp/raft-snapshot"
2631 raftboltdb "github.com/hashicorp/vault/physical/raft/logstore"
27- "github.com/hashicorp/vault/sdk/helper/consts"
28- "github.com/hashicorp/vault/sdk/helper/jsonutil"
29- "github.com/hashicorp/vault/sdk/helper/tlsutil"
30- "github.com/hashicorp/vault/sdk/logical"
31- "github.com/hashicorp/vault/sdk/physical"
3232 "github.com/hashicorp/vault/vault/cluster"
3333 "github.com/hashicorp/vault/vault/seal"
3434)
@@ -613,6 +613,15 @@ func (b *RaftBackend) applyConfigSettings(config *raft.Config) error {
613613 }
614614 config .TrailingLogs = uint64 (trailingLogs )
615615 }
616+ snapshotIntervalRaw , ok := b .conf ["snapshot_interval" ]
617+ if ok {
618+ var err error
619+ snapshotInterval , err := time .ParseDuration (snapshotIntervalRaw )
620+ if err != nil {
621+ return err
622+ }
623+ config .SnapshotInterval = snapshotInterval
624+ }
616625
617626 config .NoSnapshotRestoreOnStart = true
618627 config .MaxAppendEntries = 64
@@ -681,7 +690,6 @@ func (b *RaftBackend) SetupCluster(ctx context.Context, opts SetupOpts) error {
681690
682691 // Setup the raft config
683692 raftConfig := raft .DefaultConfig ()
684- raftConfig .SnapshotInterval = 5 * time .Second
685693 if err := b .applyConfigSettings (raftConfig ); err != nil {
686694 return err
687695 }
0 commit comments