Initialization leads to Access Denied on Windows
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
The fsync operations performed in the code referenced below always result in an access denied result when performed on a Windows OS.
https://github.com/hashicorp/raft-wal/blob/cc4505d4dd2ef9e4231aea3c7ec7851527e67f4d/metadb/metadb.go#L135-L145
A similar issue:
https://support.hashicorp.com/hc/en-us/articles/27722437245715-Consul-Snapshot-Not-Supported-by-Windows
Additional use of Sync on a directory:
https://github.com/hashicorp/raft-wal/blob/cc4505d4dd2ef9e4231aea3c7ec7851527e67f4d/fs/fs.go#L117-L127
After two restarts of the node, consul will run as expected.
Contributor guide
Research direction
Start with the fsync operations in metadb/metadb.go at lines 135-145 and the directory Sync use in fs/fs.go at lines 117-127. Reproduce initialization on Windows and inspect how these operations produce access denied; done means initialization succeeds without the reported error and the node remains functional across restarts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100