Skip to content

Commit 09fd5ec

Browse files
committed
fsyncs!
1 parent e4f9db6 commit 09fd5ec

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

client/state/db_json.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,11 @@ func NewJsonDB(logger hclog.Logger, stateDir string) (StateDB, error) {
136136
defer lockFile.Close()
137137
return nil, fmt.Errorf("error writing client lock file (%d bytes written): %w", n, err)
138138
}
139+
if err := lockFile.Sync(); err != nil {
140+
defer root.Close()
141+
defer lockFile.Close()
142+
return nil, fmt.Errorf("error syncing client lock file (%d bytes written): %w", n, err)
143+
}
139144

140145
// Initialize struct to empty values
141146
db := &JsonDB{
@@ -197,6 +202,10 @@ func (db *JsonDB) save() error {
197202
return fmt.Errorf("error writing client state to %q: %w", tmpfn, err)
198203
}
199204

205+
if err := stateFile.Sync(); err != nil {
206+
return fmt.Errorf("error syncing client state file %q: %w", tmpfn, err)
207+
}
208+
200209
if err := stateFile.Close(); err != nil {
201210
return fmt.Errorf("error closing client state file %q: %w", tmpfn, err)
202211
}

0 commit comments

Comments
 (0)