mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-11 14:34:46 +00:00
Merge pull request #1440 from tendermint/1428-remove-wal-light
[config] remove wal_light setting
This commit is contained in:
commit
14cff484f1
14
CHANGELOG.md
14
CHANGELOG.md
@ -24,7 +24,15 @@ BUG FIXES:
|
|||||||
- Graceful handling/recovery for apps that have non-determinism or fail to halt
|
- Graceful handling/recovery for apps that have non-determinism or fail to halt
|
||||||
- Graceful handling/recovery for violations of safety, or liveness
|
- Graceful handling/recovery for violations of safety, or liveness
|
||||||
|
|
||||||
## 0.19.1 (TBD)
|
## 0.19.1 (April 27th, 2018)
|
||||||
|
|
||||||
|
BREAKING (MINOR)
|
||||||
|
|
||||||
|
- [config] Removed `wal_light` setting. If you really needed this, let us know
|
||||||
|
|
||||||
|
FEATURES:
|
||||||
|
|
||||||
|
- [cmd] Added `gen_node_key` command
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
|
||||||
@ -45,10 +53,6 @@ See github.com/tendermint/go-amino for details on the new format.
|
|||||||
See `scripts/wire2amino.go` for a tool to upgrade
|
See `scripts/wire2amino.go` for a tool to upgrade
|
||||||
genesis/priv_validator/node_key JSON files.
|
genesis/priv_validator/node_key JSON files.
|
||||||
|
|
||||||
FEATURES:
|
|
||||||
- [cmd] added `gen_node_key` command
|
|
||||||
|
|
||||||
|
|
||||||
## 0.18.0 (April 6th, 2018)
|
## 0.18.0 (April 6th, 2018)
|
||||||
|
|
||||||
BREAKING:
|
BREAKING:
|
||||||
|
@ -367,10 +367,9 @@ func (cfg *MempoolConfig) WalDir() string {
|
|||||||
// ConsensusConfig defines the confuguration for the Tendermint consensus service,
|
// ConsensusConfig defines the confuguration for the Tendermint consensus service,
|
||||||
// including timeouts and details about the WAL and the block structure.
|
// including timeouts and details about the WAL and the block structure.
|
||||||
type ConsensusConfig struct {
|
type ConsensusConfig struct {
|
||||||
RootDir string `mapstructure:"home"`
|
RootDir string `mapstructure:"home"`
|
||||||
WalPath string `mapstructure:"wal_file"`
|
WalPath string `mapstructure:"wal_file"`
|
||||||
WalLight bool `mapstructure:"wal_light"`
|
walFile string // overrides WalPath if set
|
||||||
walFile string // overrides WalPath if set
|
|
||||||
|
|
||||||
// All timeouts are in milliseconds
|
// All timeouts are in milliseconds
|
||||||
TimeoutPropose int `mapstructure:"timeout_propose"`
|
TimeoutPropose int `mapstructure:"timeout_propose"`
|
||||||
@ -401,7 +400,6 @@ type ConsensusConfig struct {
|
|||||||
func DefaultConsensusConfig() *ConsensusConfig {
|
func DefaultConsensusConfig() *ConsensusConfig {
|
||||||
return &ConsensusConfig{
|
return &ConsensusConfig{
|
||||||
WalPath: filepath.Join(defaultDataDir, "cs.wal", "wal"),
|
WalPath: filepath.Join(defaultDataDir, "cs.wal", "wal"),
|
||||||
WalLight: false,
|
|
||||||
TimeoutPropose: 3000,
|
TimeoutPropose: 3000,
|
||||||
TimeoutProposeDelta: 500,
|
TimeoutProposeDelta: 500,
|
||||||
TimeoutPrevote: 1000,
|
TimeoutPrevote: 1000,
|
||||||
|
@ -183,7 +183,6 @@ wal_dir = "{{ .Mempool.WalPath }}"
|
|||||||
[consensus]
|
[consensus]
|
||||||
|
|
||||||
wal_file = "{{ .Consensus.WalPath }}"
|
wal_file = "{{ .Consensus.WalPath }}"
|
||||||
wal_light = {{ .Consensus.WalLight }}
|
|
||||||
|
|
||||||
# All timeouts are in milliseconds
|
# All timeouts are in milliseconds
|
||||||
timeout_propose = {{ .Consensus.TimeoutPropose }}
|
timeout_propose = {{ .Consensus.TimeoutPropose }}
|
||||||
|
@ -17,7 +17,7 @@ import (
|
|||||||
|
|
||||||
"github.com/tendermint/abci/example/kvstore"
|
"github.com/tendermint/abci/example/kvstore"
|
||||||
abci "github.com/tendermint/abci/types"
|
abci "github.com/tendermint/abci/types"
|
||||||
"github.com/tendermint/go-crypto"
|
crypto "github.com/tendermint/go-crypto"
|
||||||
auto "github.com/tendermint/tmlibs/autofile"
|
auto "github.com/tendermint/tmlibs/autofile"
|
||||||
cmn "github.com/tendermint/tmlibs/common"
|
cmn "github.com/tendermint/tmlibs/common"
|
||||||
dbm "github.com/tendermint/tmlibs/db"
|
dbm "github.com/tendermint/tmlibs/db"
|
||||||
@ -327,7 +327,7 @@ func testHandshakeReplay(t *testing.T, nBlocks int, mode uint) {
|
|||||||
|
|
||||||
privVal := pvm.LoadFilePV(config.PrivValidatorFile())
|
privVal := pvm.LoadFilePV(config.PrivValidatorFile())
|
||||||
|
|
||||||
wal, err := NewWAL(walFile, false)
|
wal, err := NewWAL(walFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -293,7 +293,7 @@ func (cs *ConsensusState) Wait() {
|
|||||||
|
|
||||||
// OpenWAL opens a file to log all consensus messages and timeouts for deterministic accountability
|
// OpenWAL opens a file to log all consensus messages and timeouts for deterministic accountability
|
||||||
func (cs *ConsensusState) OpenWAL(walFile string) (WAL, error) {
|
func (cs *ConsensusState) OpenWAL(walFile string) (WAL, error) {
|
||||||
wal, err := NewWAL(walFile, cs.config.WalLight)
|
wal, err := NewWAL(walFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cs.Logger.Error("Failed to open WAL for consensus state", "wal", walFile, "err", err)
|
cs.Logger.Error("Failed to open WAL for consensus state", "wal", walFile, "err", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/tendermint/go-amino"
|
amino "github.com/tendermint/go-amino"
|
||||||
"github.com/tendermint/tendermint/types"
|
"github.com/tendermint/tendermint/types"
|
||||||
auto "github.com/tendermint/tmlibs/autofile"
|
auto "github.com/tendermint/tmlibs/autofile"
|
||||||
cmn "github.com/tendermint/tmlibs/common"
|
cmn "github.com/tendermint/tmlibs/common"
|
||||||
@ -67,12 +67,11 @@ type baseWAL struct {
|
|||||||
cmn.BaseService
|
cmn.BaseService
|
||||||
|
|
||||||
group *auto.Group
|
group *auto.Group
|
||||||
light bool // ignore block parts
|
|
||||||
|
|
||||||
enc *WALEncoder
|
enc *WALEncoder
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewWAL(walFile string, light bool) (*baseWAL, error) {
|
func NewWAL(walFile string) (*baseWAL, error) {
|
||||||
err := cmn.EnsureDir(filepath.Dir(walFile), 0700)
|
err := cmn.EnsureDir(filepath.Dir(walFile), 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "failed to ensure WAL directory is in place")
|
return nil, errors.Wrap(err, "failed to ensure WAL directory is in place")
|
||||||
@ -84,7 +83,6 @@ func NewWAL(walFile string, light bool) (*baseWAL, error) {
|
|||||||
}
|
}
|
||||||
wal := &baseWAL{
|
wal := &baseWAL{
|
||||||
group: group,
|
group: group,
|
||||||
light: light,
|
|
||||||
enc: NewWALEncoder(group),
|
enc: NewWALEncoder(group),
|
||||||
}
|
}
|
||||||
wal.BaseService = *cmn.NewBaseService(nil, "baseWAL", wal)
|
wal.BaseService = *cmn.NewBaseService(nil, "baseWAL", wal)
|
||||||
@ -117,15 +115,6 @@ func (wal *baseWAL) Save(msg WALMessage) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if wal.light {
|
|
||||||
// in light mode we only write new steps, timeouts, and our own votes (no proposals, block parts)
|
|
||||||
if mi, ok := msg.(msgInfo); ok {
|
|
||||||
if mi.PeerID != "" {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Write the wal message
|
// Write the wal message
|
||||||
if err := wal.enc.Encode(&TimedWALMessage{time.Now(), msg}); err != nil {
|
if err := wal.enc.Encode(&TimedWALMessage{time.Now(), msg}); err != nil {
|
||||||
cmn.PanicQ(cmn.Fmt("Error writing msg to consensus wal: %v \n\nMessage: %v", err, msg))
|
cmn.PanicQ(cmn.Fmt("Error writing msg to consensus wal: %v \n\nMessage: %v", err, msg))
|
||||||
|
@ -47,7 +47,7 @@ func TestWALSearchForEndHeight(t *testing.T) {
|
|||||||
}
|
}
|
||||||
walFile := tempWALWithData(walBody)
|
walFile := tempWALWithData(walBody)
|
||||||
|
|
||||||
wal, err := NewWAL(walFile, false)
|
wal, err := NewWAL(walFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -140,7 +140,6 @@ like the file below, however, double check by inspecting the
|
|||||||
[consensus]
|
[consensus]
|
||||||
|
|
||||||
wal_file = "data/cs.wal/wal"
|
wal_file = "data/cs.wal/wal"
|
||||||
wal_light = false
|
|
||||||
|
|
||||||
# All timeouts are in milliseconds
|
# All timeouts are in milliseconds
|
||||||
timeout_propose = 3000
|
timeout_propose = 3000
|
||||||
|
Loading…
x
Reference in New Issue
Block a user