Consul in latest versions defaults to experimental WAL backend, despite docs saying boltdb is default
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 43
Description
#### Overview of the Issue
In consul 1.20.1 (maybe in other versions as well, we just upgraded from 1.14.8), consul defaults to experimental WAL backend even though docs say that it is experimental and default is boltdb.
#### Reproduction Steps
Create a server with default config for raft logstore, check data folder. It should have boltdb file but has wal file.
We can also see in code logic why that is https://github.com/hashicorp/consul/blob/beef7a7417a22f1dc7c436de531704fd206b0b4c/agent/consul/server.go#L1030-L1044
if default & boltdb file doesn't exist => WAL
if WAL & boltdb file doesn't exist => WAL
else use BoltDB
excerpt from the docs:
> [backend](https://developer.hashicorp.com/consul/docs/agent/config/config-files#raft_logstore_backend) Specifies which storage engine to use to persist logs. Valid options are boltdb or wal. Default is boltdb. The wal option specifies an experimental backend that should be used with caution. Refer to [Experimental WAL LogStore backend](https://developer.hashicorp.com/consul/docs/agent/wal-logstore) for more information.
So it's a bit confusing when WAL became the default and if it is still experimental
### Consul info for both Client and Server
we use a forked consul version, but this issue exists on non-forked version as described above.
### Operating system and Environment details
Linux
### Log Fragments
n/a
Contributor guide
Assessment
This issue has not been assessed yet.