Anton Kaliaev
f6539737de
new pubsub package
...
comment out failing consensus tests for now
rewrite rpc httpclient to use new pubsub package
import pubsub as tmpubsub, query as tmquery
make event IDs constants
EventKey -> EventTypeKey
rename EventsPubsub to PubSub
mempool does not use pubsub
rename eventsSub to pubsub
new subscribe API
fix channel size issues and consensus tests bugs
refactor rpc client
add missing discardFromChan method
add mutex
rename pubsub to eventBus
remove IsRunning from WSRPCConnection interface (not needed)
add a comment in broadcastNewRoundStepsAndVotes
rename registerEventCallbacks to broadcastNewRoundStepsAndVotes
See https://dave.cheney.net/2014/03/19/channel-axioms
stop eventBuses after reactor tests
remove unnecessary Unsubscribe
return subscribe helper function
move discardFromChan to where it is used
subscribe now returns an err
this gives us ability to refuse to subscribe if pubsub is at its max
capacity.
use context for control overflow
cache queries
handle err when subscribing in replay_test
rename testClientID to testSubscriber
extract var
set channel buffer capacity to 1 in replay_file
fix byzantine_test
unsubscribe from single event, not all events
refactor httpclient to return events to appropriate channels
return failing testReplayCrashBeforeWriteVote test
fix TestValidatorSetChanges
refactor code a bit
fix testReplayCrashBeforeWriteVote
add comment
fix TestValidatorSetChanges
fixes from Bucky's review
update comment [ci skip]
test TxEventBuffer
update changelog
fix TestValidatorSetChanges (2nd attempt)
only do wg.Done when no errors
benchmark event bus
create pubsub server inside NewEventBus
only expose config params (later if needed)
set buffer capacity to 0 so we are not testing cache
new tx event format: key = "Tx" plus a tag {"tx.hash": XYZ}
This should allow to subscribe to all transactions! or a specific one
using a query: "tm.events.type = Tx and tx.hash = '013ABF99434...'"
use TimeoutCommit instead of afterPublishEventNewBlockTimeout
TimeoutCommit is the time a node waits after committing a block, before
it goes into the next height. So it will finish everything from the last
block, but then wait a bit. The idea is this gives it time to hear more
votes from other validators, to strengthen the commit it includes in the
next block. But it also gives it time to hear about new transactions.
waitForBlockWithUpdatedVals
rewrite WAL crash tests
Task:
test that we can recover from any WAL crash.
Solution:
the old tests were relying on event hub being run in the same thread (we
were injecting the private validator's last signature).
when considering a rewrite, we considered two possible solutions: write
a "fuzzy" testing system where WAL is crashing upon receiving a new
message, or inject failures and trigger them in tests using something
like https://github.com/coreos/gofail .
remove sleep
no cs.Lock around wal.Save
test different cases (empty block, non-empty block, ...)
comments
add comments
test 4 cases: empty block, non-empty block, non-empty block with smaller part size, many blocks
fixes as per Bucky's last review
reset subscriptions on UnsubscribeAll
use a simple counter to track message for which we panicked
also, set a smaller part size for all test cases
2017-10-30 00:32:22 -05:00
Ethan Buchman
fe1c60b5cf
consensus: kill process on app error
2017-10-27 10:55:20 -04:00
Ethan Buchman
591dd9e662
dont catchupReplay on wal if we fast synced
2017-10-27 10:46:19 -04:00
Ethan Buchman
12c703c1c3
Merge branch 'develop' into 573-wal-issues
2017-10-25 23:56:08 -04:00
Ethan Buchman
57a684d5ac
fixes from review
2017-10-25 21:54:56 -04:00
Anton Kaliaev
ae538337ba
fix panic: failed to determine gopath: exec: "go" (Refs #782 )
...
```
-bash-4.2$ tendermint show_validators
panic: failed to determine gopath: exec: "go": executable file not found in $PATH
goroutine 1 [running]:
github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common.gopath(0xc4200632c0, 0x18)
/var/lib/jenkins/workspace/03.Build.Package/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common/os.go:26 +0x1b5
github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common.init()
/var/lib/jenkins/workspace/03.Build.Package/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common/os.go:17 +0x13c
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire.init()
/var/lib/jenkins/workspace/03.Build.Package/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/wire.go:165 +0x50
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/data.init()
/var/lib/jenkins/workspace/03.Build.Package/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/data/wrapper.go:89 +0x50
github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/cli.init()
/var/lib/jenkins/workspace/03.Build.Package/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/cli/setup.go:190 +0x76
main.init()
/var/lib/jenkins/workspace/03.Build.Package/go/src/github.com/tendermint/tendermint/cmd/tendermint/main.go:42 +0x49```
An error message instead would be nice.
```
Now GoPath() is a function instead of a variable.
2017-10-25 11:19:53 +04:00
Ethan Buchman
62a7beec21
Merge pull request #780 from ericdmann/769-error-msg-while-testnet-sync
...
Change log level to Info when proposal block hashing fails
2017-10-24 23:27:20 -04:00
Eric Mann
45e18a1832
Change log level to Info when proposal block hashing fails due to partially complete block
2017-10-24 14:13:35 -07:00
Anton Kaliaev
c74a359c46
fixes per Bucky's review
2017-10-24 12:14:21 +04:00
Anton Kaliaev
3115c23762
binary format for WAL
2017-10-23 22:27:24 +04:00
Anton Kaliaev
31030c6514
make crc32c a global var
...
change echo format in build.sh script
2017-10-23 22:09:42 +04:00
Anton Kaliaev
7b8ffc9981
add checksum and msg size to TimedWALMessage
...
updated test_data/build.sh script
2017-10-23 22:09:17 +04:00
Ethan Buchman
7a6876bc62
Merge pull request #768 from tendermint/feature/merkleeyes-to-iavl
...
Feature/merkleeyes to iavl
2017-10-23 11:07:21 -04:00
Ethan Buchman
fd60621a8e
update cswal test
2017-10-23 10:03:54 -04:00
Anton Kaliaev
c4646bf87f
make state#Params not a pointer
...
also remove the comment
2017-10-16 10:34:02 +04:00
Anton Kaliaev
716364182d
[state] expose ChainID and Params
...
```
jaekwon
Yeah we should definitely expose ChainID.
ConsensusParams is small enough, we can just write it.
```
https://github.com/tendermint/tendermint/pull/676#discussion_r144123203
2017-10-16 10:34:02 +04:00
Anton Kaliaev
1971e149fb
ChainID() and Params() do not return errors
...
- remove state#GenesisDoc() method
2017-10-16 10:34:02 +04:00
Emmanuel Odeke
7939d62ef0
all, state: unexpose GenesisDoc, ChainID fields make them accessor methods
...
Fixes #671
Unexpose GenesisDoc and ChainID fields to avoid them being
serialized to the DB on every block write/state.Save()
A GenesisDoc can now be alternatively written to the state's
database, by serializing its JSON as a value of key "genesis-doc".
There are now accessors and a setter for these attributes:
- state.GenesisDoc() (*types.GenesisDoc, error)
- state.ChainID() (string, error)
- state.SetGenesisDoc(*types.GenesisDoc)
This is a breaking change since it changes how the state's
serialization and requires that if loading the GenesisDoc entirely
from the database, you'll need to set its value in the database
as the GenesisDoc's JSON marshaled bytes.
2017-10-16 10:34:01 +04:00
Anton Kaliaev
dc0e8de9b0
extract some of the consensus types into ./types
...
so they can be used in rpc/core/types/responses.go.
```
So, it seems like we could use the actual structs here, but we don't want to have to import consensus to get them, as then clients are importing too much crap. So probably we should move some types from consensus into consensus/types so we can import.
Will these raw messages be identical to:
type ResultDumpConsensusState struct {
RoundState cstypes.RoundState
PeerRoundStates map[string]cstypes.PeerRoundState
}
```
https://github.com/tendermint/tendermint/pull/724#discussion_r143598193
2017-10-10 12:39:21 +04:00
Zach Ramsay
d56b44f3a5
all: no more anonymous imports
2017-10-04 16:40:45 -04:00
Ethan Buchman
8c6bd44929
log stack trace on consensus failure
2017-10-02 23:34:06 -04:00
Ethan Buchman
8311f5c611
abci.Info takes a struct; less merkleeyes
2017-09-22 11:42:40 -04:00
Ethan Buchman
75b97a5a65
PrivValidatorFS is like old PrivValidator, for now
2017-09-21 16:46:31 -04:00
Ethan Buchman
779c2a22d0
node: NewNode takes DBProvider and GenDocProvider
2017-09-21 15:54:33 -04:00
Ethan Buchman
4382c8d28b
fix tests
2017-09-21 15:52:25 -04:00
Ethan Buchman
944ebccfe9
more PrivValidator interface
2017-09-21 15:51:20 -04:00
Ethan Buchman
fd1b0b997a
PrivValidator interface
2017-09-21 15:51:20 -04:00
Adrian Brink
7dd3c007c7
Refactor priv_validator
...
Users can now just pass an object that implements the Signer interface.
2017-09-21 15:50:43 -04:00
Ethan Buchman
3089bbf2b8
Amount -> Power. Closes #166
2017-09-21 14:59:27 -04:00
Ethan Buchman
5feeb65cf0
dont use pointers for ConsensusParams
2017-09-21 14:59:24 -04:00
Ethan Buchman
3a03fe5a15
updated to match adr 005
2017-09-21 14:51:29 -04:00
Ethan Buchman
2b6db268cf
genesis json tests and mv ConsensusParams to types
2017-09-21 14:51:29 -04:00
Ethan Buchman
1f3e4d2d9a
move PartSetSize out of the config, into ConsensusParams
2017-09-21 14:51:29 -04:00
Zach Ramsay
70b95135e6
consensus: use filepath for windows compatibility, closes #595
2017-09-18 17:49:43 -04:00
Ethan Buchman
90c0267bc1
types: privVal.Sign returns an error
2017-09-16 01:07:04 -04:00
Ethan Buchman
aea8629272
peer interface
2017-09-15 18:40:59 -04:00
Ethan Buchman
399fb9aa70
consensus: remove support for replay by #HEIGHT. closes #567
2017-09-06 01:53:41 -04:00
Ethan Buchman
78446fd99c
state: persist validators
2017-09-03 16:07:37 -04:00
Ethan Buchman
9ceccbe9a4
consensus: recover panics in receive routine
2017-08-16 01:01:09 -04:00
Ethan Buchman
35a4912449
dont panic on getVoteBitArray
2017-08-16 00:43:55 -04:00
Ethan Buchman
c5a657f540
consensus: test proposal heartbeat
2017-08-10 01:24:23 -04:00
Ethan Buchman
c9e11de2a7
consensus: log ProposalHeartbeat msg
2017-08-10 00:12:16 -04:00
Ethan Buchman
49278a7f9c
Merge pull request #579 from tendermint/feature/sync_status
...
Add fast-sync status to Status() call
2017-08-09 23:51:25 -04:00
Ethan Buchman
b0728260e9
comments
2017-08-09 23:51:09 -04:00
Ethan Buchman
92ada55e5a
make conR.FastSync() thread safe
2017-08-09 14:55:21 -04:00
Ethan Buchman
0bf66deb3c
fixes from review
2017-08-08 17:09:04 -04:00
Ethan Buchman
d2f3e9faf4
test CreateEmptyBlocksInterval
2017-08-08 16:35:25 -04:00
Ethan Buchman
37f1390473
CreateEmptyBlocks and CreateEmptyBlocksInterval
2017-08-08 16:22:37 -04:00
Ethan Buchman
fb47ca6d35
fixes from review
2017-08-04 21:36:11 -04:00
Ethan Buchman
b8ac67e240
some fixes
2017-08-03 13:25:26 -04:00
Ethan Buchman
ab753abfa0
Proposer->Proposal; sign heartbeats
2017-07-29 17:04:28 -04:00
Ethan Buchman
10f8101314
fix race
2017-07-29 11:45:07 -04:00
Ethan Buchman
530626dab7
broadcast proposer heartbeat msg
2017-07-29 11:45:02 -04:00
Ethan Buchman
b96d28a42b
test progress in higher round
2017-07-28 23:43:30 -04:00
Ethan Buchman
3444bee47f
fixes from review; use mempool.TxsAvailable() directly
2017-07-28 23:42:43 -04:00
Ethan Buchman
cf3abe5096
consensus: remove rs from handleMsg
2017-07-28 23:42:19 -04:00
Ethan Buchman
ecdda69fab
commit empty blocks when needed to prove app hash
2017-07-28 22:12:11 -04:00
Ethan Buchman
fc3fe9292f
fixes from review
2017-07-28 22:12:11 -04:00
Ethan Buchman
678a9a2e42
TxsAvailable tests
2017-07-28 22:11:45 -04:00
Ethan Buchman
124032e3e9
NoEmptyBlocks config option
2017-07-28 22:11:45 -04:00
Ethan Buchman
4beac54bd9
no empty blocks
2017-07-28 22:11:45 -04:00
Ethan Buchman
39493bcd9a
consensus: isProposer func
2017-07-28 22:11:10 -04:00
Ethan Buchman
e9b7221292
consensus: more comments
2017-07-20 00:59:28 -04:00
ramil
6f8d385dfa
fast sync status
2017-07-17 09:44:23 +03:00
Ethan Buchman
5f6b996d22
breakup some long lines; add more comments to consensus reactor
2017-07-09 18:38:59 -04:00
Ethan Buchman
74a3a2b56a
fix comments
2017-07-09 18:01:25 -04:00
Adrian Brink
b07d01f102
Add more comments on public functions and extra logging during 'enterPrevote'
...
Signed-off-by: Adrian Brink <adrian@brink-holdings.com>
2017-07-09 20:35:48 +02:00
Ethan Buchman
612726d9f6
consensus: better logging
2017-07-07 16:58:16 -04:00
Ethan Buchman
5888ddaab1
consensus: improve logging for conflicting votes
2017-07-07 13:41:50 -04:00
Ethan Buchman
ca8c34f966
add consensus reactor sleep durations to the config
2017-07-07 12:39:40 -04:00
Ethan Buchman
0d1fa8e884
fixes from review
2017-06-28 11:12:45 -04:00
Ethan Buchman
468982ffe4
fixes
2017-06-23 22:12:45 -04:00
Ethan Buchman
2750343de5
Merge branch 'apply-megacheck' into unstable
2017-06-23 21:38:22 -04:00
Ethan Buchman
3c0128a680
undo some megacheck suggestions
2017-06-23 21:36:47 -04:00
Anton Kaliaev
b4ece65726
standardize key for errors (should be "err")
2017-06-14 12:50:49 +04:00
Anton Kaliaev
562dd67e16
fix invalid keys (space is prohibited by logfmt encoder)
2017-06-14 12:50:01 +04:00
zramsay
9c3eee0b00
Makefile: add megacheck & some additional fixes
2017-05-30 13:35:34 -04:00
zramsay
cf31f8d06f
core: apply megacheck vet tool (unused, gosimple, staticcheck)
2017-05-29 23:11:40 -04:00
spring1843
cf686d4f83
Fix commonly misspelled words
2017-05-20 21:43:00 -07:00
Ethan Buchman
30a19fc899
[consensus] Info->Debug for is a validator log msg
2017-05-18 11:26:15 +02:00
Anton Kaliaev
91dc87e7c4
update for a new ABCI API
2017-05-16 19:06:35 +02:00
Adrian Brink
eb9ca23250
log whether node is a validator in each round
2017-05-16 14:01:52 +02:00
Anton Kaliaev
1dfb95f719
[consensus] color code different consensus instances in consensus tests
...
(Refs #492 )
2017-05-15 09:35:29 +02:00
Anton Kaliaev
f8fdbe3dbc
changes as per Bucky's review
2017-05-13 16:22:51 +02:00
Anton Kaliaev
c9cd8de9c6
set logger
2017-05-13 10:25:00 +02:00
Anton Kaliaev
3e1343dc6b
has as a base16 string
2017-05-13 10:24:59 +02:00
Anton Kaliaev
f803544195
new logging
2017-05-13 10:24:58 +02:00
Ethan Buchman
46151720f8
fix tests
2017-05-04 22:46:41 -04:00
Ethan Buchman
9109b20852
SetRoot
2017-05-04 22:46:41 -04:00
Ethan Frey
6b059e0063
Accept relative paths in all configs, TODO: must SetRoot
2017-05-04 22:46:40 -04:00
Ethan Frey
92dee7ea3c
Commands compile (mostly) with new config reading
2017-05-04 22:46:40 -04:00
Ethan Frey
604bf03f3a
Pulled out all config structs (except p2p.PeerConfig) into config package
2017-05-04 22:46:40 -04:00
Ethan Buchman
92bafa7ecd
consensus: fix tests
2017-05-04 22:46:13 -04:00
Ethan Buchman
6afee8f117
rpc: fix tests
2017-05-04 22:45:13 -04:00
Ethan Buchman
1ef7c1d25b
cmd: fixes for new config
2017-05-04 22:43:55 -04:00
Ethan Buchman
75b6c5215f
fewer structs. remove viper from consensus
2017-05-04 22:43:55 -04:00
Ethan Buchman
95c74b2ccd
remove some more viper
2017-05-04 22:43:55 -04:00
Ethan Buchman
1fcc9dc654
remove viper from proxy
2017-05-04 22:39:22 -04:00
Ethan Buchman
7c0f51e24b
remove viper from mempool
2017-05-04 22:39:22 -04:00
Ethan Buchman
4305d054d6
Merge pull request #465 from tendermint/bytes
...
RPC Serialization Overhaul
2017-05-03 14:37:21 -04:00
Ethan Buchman
07e59e63f9
TMEventDataInner
2017-04-28 17:57:06 -04:00
Ethan Buchman
0be3480729
consensus: comment about test_data [ci skip]
2017-04-27 18:34:57 -04:00
Ethan Buchman
495283e2d4
fix replay tests and update test wals for InitChain
2017-04-27 18:30:43 -04:00
Adrian Brink
842609ddcb
Send InitChain message from ABCI to Core on Genesis
...
InitChain is send from the ABCI to the Core node when the ABCI
app has no blocks stored.
2017-04-27 20:22:11 +02:00
Ethan Buchman
fcf78a5da7
cleanup go-config/viper and some unnamed imports
2017-04-25 14:54:56 -04:00
Rigel Rozanski
cefb2bede0
adding viper
...
int
int
2017-04-25 13:42:22 -04:00
Ethan Buchman
56c60fba23
go-p2p -> tendermint/p2p
2017-04-21 18:19:41 -04:00
Ethan Buchman
d1926bcad1
use tmlibs
2017-04-21 18:12:54 -04:00
Ethan Frey
6a0217688f
Ensure private validator addresses are hex
2017-04-21 16:51:17 -04:00
Anton Kaliaev
7e56aad51a
[consensus/test_data/build.sh] install tendermint if absent
2017-04-21 16:51:17 -04:00
Jae Kwon
cf4074cc80
defer gr.Close() fixes
2017-04-18 21:28:10 -04:00
Ethan Buchman
cb2ed5bb7c
fixes from review
2017-04-18 21:28:10 -04:00
Ethan Buchman
2ba3656ffd
wal: gr.Close()
2017-04-18 21:28:10 -04:00
Jae Kwon
cd9e9e9f45
s/ExecBlock/ValExecBlock/g; s/sm.ApplyBlock/sm.ExecCommitBlock/g
2017-04-18 21:28:10 -04:00
Ethan Buchman
f9d0096744
support #HEIGHT based WAL
2017-04-18 21:28:10 -04:00
Ethan Buchman
935f70a346
comments and cleanup
2017-04-18 21:28:10 -04:00
Ethan Buchman
5109746b1c
Handshake uses ApplyBlock, no ConsensuState
2017-04-18 21:28:10 -04:00
Ethan Buchman
ed03cb5c17
consensus/replay: remove timeout
2017-04-18 21:27:31 -04:00
Ethan Buchman
54b26869d5
consensus/wal: #HEIGHT -> #ENDHEIGHT
2017-04-18 21:27:31 -04:00
Ethan Buchman
cb279bf662
state: ABCIResponses, s.Save() in ApplyBlock
2017-04-18 21:27:31 -04:00
Anton Kaliaev
c3f1b08b6a
tx indexing (Refs #237 )
...
save transactions to blockstore
move to a separate module
benchmark KVIndexer
batch write transactions
Benchmarks:
```
BenchmarkKVIndexerIndex-2 100000 516300 ns/op
PASS
ok github.com/tendermint/tendermint/blockchain/tx 56.506s
5,16 s for 10000 transactions
1 s for 2000 transactions
```
```
BenchmarkKVIndexerIndex-2 h 3000000 8622 ns/op
PASS
ok github.com/tendermint/tendermint/blockchain/tx 34.210s
86 ms for 10000 transactions
16 ms for 2000 transactions
```
```
BenchmarkKVIndexerIndex1-2 5000000 7160 ns/op
BenchmarkKVIndexerIndex500-2 20000 1750411 ns/op
BenchmarkKVIndexerIndex1000-2 10000 3573973 ns/op
BenchmarkKVIndexerIndex2000-2 5000 7836851 ns/op
BenchmarkKVIndexerIndex10000-2 1000 33438980 ns/op
PASS
ok github.com/tendermint/tendermint/blockchain/tx 209.482s
7,8 ms for 2000 transactions
```
[state] write test for ApplyBlock
review comments
- move txindexer to state
- fix type
save Tx Index as well
do not store tx itself in the result
2017-04-10 22:44:07 +04:00
Ethan Buchman
09f7dabd5e
update comment
2017-03-28 14:06:03 -04:00
Ethan Buchman
4fd1471f11
remove BaseService.OnStart
2017-03-28 12:09:11 -04:00
Ethan Buchman
85e83934a1
fixes from review
2017-03-28 12:07:32 -04:00
Ethan Buchman
077cf13a1f
consensus: timeout on replayLastBlock
2017-03-27 15:41:45 -04:00
Ethan Buchman
b1cd677711
types: valSet LastProposer->Proposer and Proposer()->GetProposer()
2017-03-05 23:28:42 -05:00
Ethan Buchman
749df0536f
test/docker: install abci apps first
2017-03-05 14:59:02 -05:00
Ethan Buchman
2037d2631a
fix race
2017-03-05 03:40:36 -05:00
Ethan Buchman
de0153a1c4
consensus: some more informative logging
2017-03-05 02:15:46 -05:00
Ethan Buchman
8ba79252c8
types: use mtx on PartSet.String()
2017-03-02 23:50:59 -05:00
Anton Kaliaev
2c724d5eee
remove warning messages in favor of "Send failed"
2017-02-21 13:25:16 +04:00
Anton Kaliaev
6dbe9febce
log warning if peer send failed (Refs #174 )
...
make lint happy
remove dead code
remove not needed go-common dependency
check peer.Send failures (Refs #174 )
2017-02-21 11:57:33 +04:00
Ethan Buchman
0c4b6cd071
consensus: more handshake replay tests
2017-02-20 21:45:53 -05:00
Ethan Buchman
f9df4294f3
move some interfaces to types/services.go
2017-02-20 20:09:15 -05:00
Ethan Buchman
0765613778
move handshake to consensus package
2017-02-20 19:52:36 -05:00
Ethan Buchman
756213c5f5
check appHash
2017-02-20 17:08:38 -05:00
Ethan Buchman
bc67859672
make ReplayBlocks logic exhaustive
2017-02-20 16:32:48 -05:00
Ethan Buchman
44d472ddd3
comments from review
2017-02-18 22:15:59 -05:00
Ethan Buchman
0bec99fbd4
consensus: handshake replay test using wal
2017-02-17 19:12:05 -05:00
Ethan Buchman
edc5e272db
consensus: nice error msg if ApplyBlock fails
2017-02-17 10:57:09 -05:00
Ethan Buchman
6403b2f468
fixes for handshake replay through consensus
2017-02-17 10:51:05 -05:00
Ethan Buchman
cbe6dbe7a1
handshake replay through consensus using mockApp
2017-02-16 17:56:45 -05:00
Ethan Buchman
99b068b313
BlockMeta uses BlockID
2017-02-14 17:06:58 -05:00
Ethan Buchman
7d91d4300b
update glide
2017-02-13 21:07:26 -05:00
Jae Kwon
1af930441c
Support new Query message for proofs
2017-01-28 08:27:13 -08:00
Jae Kwon
a073b1db9c
Refactor replay console -> replay_file in consensus/replay_file.go
2017-01-15 16:19:02 -08:00
Ethan Buchman
94b6dd65ee
AppendTx -> DeliverTx
2017-01-12 15:55:03 -05:00
Ethan Buchman
c147b41013
TMSP -> ABCI
2017-01-12 15:53:32 -05:00
Ethan Buchman
2dd7030579
tmsp: ResponseInfo and ResponseEndBlock
2017-01-12 15:21:20 -05:00
Ethan Buchman
e7a12f8e38
cs.Wait()
2017-01-12 14:44:42 -05:00
Ethan Buchman
0525e8ed5c
rearrange common_test.go; EnsureDir for privVal
2017-01-12 12:38:09 -05:00
Ethan Buchman
814ef37f75
fix tests
2017-01-12 10:58:44 -05:00
Ethan Buchman
3c589dac19
startConsensusNet and stopConsensusNet
2017-01-12 02:29:53 -05:00
Ethan Buchman
ce0c638005
little fix
2017-01-11 18:37:36 -05:00
Anton Kalyaev
535fc6cd63
test we can make blocks with skip_timeout_commit=false
2017-01-11 18:00:27 -05:00
Anton Kalyaev
3308ac7d83
set skip_timeout_commit to true for tests
...
For the tests its better to not use the timeout_commit, and to wait for all the
votes, because otherwise we can end up with timing dependencies in the testing
code which can lead to nondeterministic failures. That was part of the reason
for this change originally.
2017-01-11 18:00:26 -05:00
Anton Kalyaev
a1fd312bb1
make progress asap on full precommit votes optional (Refs #348 )
2017-01-11 18:00:26 -05:00
Ethan Buchman
44f939c841
Merge pull request #359 from tendermint/val-set-changes
...
Val set changes
2017-01-11 17:56:52 -05:00
Ethan Buchman
d68cdce2d5
consensus: check HasAll when TwoThirdsMajority
2017-01-11 17:53:46 -05:00
Jae Kwon
43fdc4a1ce
Fix #341
2017-01-11 08:57:10 -08:00
Anton Kalyaev
cb2f2b94ee
log stages to stdout
2017-01-11 10:35:04 -05:00
Anton Kalyaev
4722410e5e
test validator set changes more extensively
2017-01-11 10:35:04 -05:00
Ethan Buchman
55b4bfa1fe
consensus: let time.Timer handle non-positive durations
2017-01-11 10:24:40 -05:00
Ethan Buchman
12d92fd5db
Merge pull request #343 from tendermint/restart_test
...
Crash/Restart tests
2017-01-06 11:55:05 -08:00
Ethan Buchman
bae0bc02a6
consensus: be more explicit when we need to write height after handshake
2017-01-05 20:16:42 -08:00
Ethan Buchman
f30a9752e2
more fixes from review
2016-12-23 11:11:22 -05:00
Ethan Buchman
0c01b0ded9
state.State and wal.writeHeight after handshake
2016-12-22 22:10:36 -05:00
Ethan Buchman
e5fb681615
consensus: remove crankTimeoutPropose from tests
2016-12-22 22:03:42 -05:00
Ethan Buchman
c9698e4848
fixes from review
2016-12-22 22:03:42 -05:00
Ethan Buchman
f4e6cf4439
consensus: sync wal.writeHeight
2016-12-22 15:01:02 -05:00
Ethan Buchman
b126ca0606
consensus: no internal vars in reactor.String()
2016-12-20 00:17:37 -05:00
Ethan Buchman
40b08f2494
consensus: mv timeoutRoutine into TimeoutTicker
2016-12-19 22:29:32 -05:00
Ethan Buchman
8211fa6ce4
enterNewRound on HasAll
2016-12-19 20:12:37 -05:00
Ethan Buchman
706dd1d6c5
test: dont start cs until all peers connected
2016-12-19 19:50:40 -05:00
Ethan Buchman
faf23aa0d4
consensus: TimeoutTicker, skip TimeoutCommit on HasAll
2016-12-19 15:42:36 -05:00
Ethan Buchman
1bd700ee52
test: automate building consensus/test_data
2016-12-18 00:15:10 -05:00
Ethan Buchman
38783e7fa1
types: SignatureEd25519 -> Signature
2016-12-18 00:14:07 -05:00
Ethan Buchman
dcbb35089f
consensus: wal.Flush() and cleanup replay tests
2016-12-17 23:43:17 -05:00
Ethan Buchman
de6bba4609
test: randConsensusNet takes more args
2016-12-17 14:45:20 -05:00
Ethan Buchman
d800a51da4
test: crank it to eleventy
2016-12-07 20:13:52 -05:00
Ethan Buchman
8df32cd540
test: increase proposal timeout
2016-12-06 19:54:10 -05:00
Jae Kwon
4202c4bf20
Fix Merge pull request #319
2016-12-06 01:16:13 -08:00
Ethan Buchman
b74a97a4f6
update grpc broadcast tx
2016-12-02 00:29:25 -05:00
Ethan Buchman
0fe53dc5cf
remove privValIndex; Stale->AppHashIsStale
2016-12-02 00:27:36 -05:00
Ethan Buchman
2f9063c1d6
consensus: test validator set change
2016-11-23 18:20:46 -05:00
Ethan Buchman
6f8c91b651
use NewValidator; fix setPrivValidatorIndex
2016-11-22 20:38:14 -05:00
Ethan Buchman
e0db20c0cf
update privValidatorIndex on valset change
2016-11-22 20:38:14 -05:00
Ethan Buchman
655b6300f5
val set changes
2016-11-22 20:38:14 -05:00
Ethan Buchman
d7f6c0775a
remove LastCommitHeight
2016-11-22 20:38:14 -05:00
Ethan Buchman
a3d863f83b
consensus: track index of privVal
2016-11-22 20:38:14 -05:00
Jae Kwon
e09950d3fb
Use new Group semantics
2016-11-21 19:16:19 -08:00
Ethan Buchman
c6a648fad7
consensus: lock before loading commit
2016-11-16 16:47:31 -05:00
Ethan Buchman
07597dfd45
post rebase fixes for BlockID, partSize
2016-11-16 16:13:17 -05:00
Ethan Buchman
4360c360a4
move handshake to state, use Handshaker, more tests
2016-11-16 13:29:22 -05:00
Ethan Buchman
3f90fcae48
fail tests and fix
2016-11-16 13:26:39 -05:00
Ethan Buchman
8ec1839f5d
save block b4 apply; track stale apphash
2016-11-16 13:26:39 -05:00
Ethan Buchman
fb9735ef46
rebase fixes and BeginBlock(hash,header)
2016-11-16 13:25:13 -05:00
Ethan Buchman
138de19e1e
test: app persistence
2016-11-16 13:25:13 -05:00
Ethan Buchman
d3ae920bd0
state: ApplyBlock
2016-11-16 13:25:13 -05:00
Ethan Buchman
f37f56d4f1
fixes
2016-11-16 13:25:13 -05:00
Ethan Buchman
81e6df0d57
cswal: write #HEIGHT:1 for empty wal
2016-11-16 01:23:19 -05:00
Jae Kwon
d83fc02597
MakePartSet takes partSize from config. fix replay test
2016-11-16 01:23:16 -05:00
Jae Kwon
95c8bb4252
Fixing issues from review in #229
2016-11-15 18:48:35 -05:00
Jae Kwon
c1729addce
Fix BFT issue where VoteSetMaj23Message wasn't being sent where prs.Round == blockStore.Round()
2016-11-15 18:48:35 -05:00
Jae Kwon
3e3b034252
Make ConsensusReactor use ConsensusState's blockstore; debug functions
2016-11-15 18:48:34 -05:00
Ethan Buchman
9d0c7f6ec7
fix bft test. still halts
2016-11-15 18:47:19 -05:00
Ethan Buchman
c5a803a146
DataChannel -> StateChannel for Maj23Msg
2016-11-15 18:45:36 -05:00
Ethan Buchman
5f55ed2a40
consensus: ensure dir for cswal on reactor tests
2016-11-15 18:45:36 -05:00
Ethan Buchman
7afcf92539
consensus: fix panic on POLRound=-1
2016-11-15 18:45:36 -05:00
Ethan Buchman
57da2e4af5
make byzantine logic testable
2016-11-15 18:45:36 -05:00
Ethan Buchman
f837252ff1
consensus: test reactor
2016-11-15 18:37:33 -05:00
Jae Kwon
fd128c7180
Fix comments from review
2016-11-15 18:37:00 -05:00
Jae Kwon
ea4b60a602
Fix compile bug
2016-11-15 18:37:00 -05:00
Jae Kwon
b73a6905a1
Initial pass at bft_fix_2 completion
2016-11-15 18:37:00 -05:00
Jae Kwon
655d829314
Fix proposal sign bytes. Start tracking blockID in POL
2016-11-15 18:35:17 -05:00
Jae Kwon
1173a85c85
Use BlockID everywhere
2016-11-15 18:34:58 -05:00
Jae Kwon
7221887330
VoteSet can handle conflicting votes. TODO: add more tests
2016-11-15 18:33:16 -05:00
Jae Kwon
3c5a2f55c2
Add validator index and address to Vote.
2016-11-15 18:33:16 -05:00
Ethan Buchman
1fedf5b332
Merge branch 'consensus_wal_autofile' into develop_old
2016-11-15 15:43:22 -05:00
Jae Kwon
2aecb2a4a3
Ensure *_wal_dir exists
2016-11-05 09:15:34 -07:00
Ethan Buchman
3ff9355e7b
change some logs to debug
2016-11-03 20:13:39 -04:00
Jae Kwon
3d3d8b5b7b
cswal -> cs_wal_dir
2016-10-30 03:55:27 -07:00
Jae Kwon
1788a68b1c
Consensus WAL uses AutoFile/Group
2016-10-28 15:01:14 -07:00
Jae Kwon
480f44f16c
QuitService->BaseService
2016-10-28 12:14:24 -07:00
Jae Kwon
9a089482dc
Unnest
2016-10-28 11:58:09 -07:00
Jae Kwon
fc31b463b1
Don't use io.Seek*, not supported in older versions
2016-10-26 22:19:44 -07:00
Jae Kwon
830e84adc4
Fix minor bug in Consensus WAL; Fix AutoFile dependency
2016-10-26 21:51:03 -07:00
Jae Kwon
a9d8039082
Fix peer memleak; stop goroutine when peer is offline
2016-10-17 11:29:43 -07:00
Ethan Buchman
2113b6f4bb
rpc: use interfaces for pipe
2016-10-14 21:38:49 -04:00
Ethan Buchman
7d493774c7
log: move some Info to Debug
2016-10-14 20:27:50 -04:00
Ethan Buchman
0098387fbf
consensus: hvs.StringIndented needed a lock. addresses #284
2016-10-11 19:12:39 -04:00
Ethan Buchman
71baad59df
replay: ensure cs.height and wal.height match
2016-10-11 16:06:46 -04:00
Ethan Buchman
9365d33243
replay: more tests
2016-10-11 12:55:04 -04:00
Ethan Buchman
3c18d841fa
replay: larger read buffer
2016-10-11 12:51:48 -04:00
Ethan Buchman
7dcb567e53
replay test data
2016-10-11 11:44:07 -04:00
Ethan Buchman
7a424e6b12
Merge pull request #291 from tendermint/type-safe-fire-event
...
Type safe fire event
2016-10-10 17:36:52 -04:00
Ethan Buchman
a07063f119
add test for mempool deadlock
2016-10-10 17:05:50 -04:00
Ethan Buchman
35d4cca8bb
type safe events
2016-10-10 03:10:29 -04:00
Ethan Buchman
206d00ed8c
fixes from review
2016-09-09 23:50:25 -04:00
Ethan Buchman
9fb84d66be
Merge pull request #268 from tendermint/replay
...
consensus: no sign err in replay; fix a race
2016-09-09 23:04:39 -04:00
Ethan Buchman
987dac9ee0
consensus: no sign err in replay; fix a race
2016-09-08 19:00:59 -04:00
Ethan Buchman
3a7ee13ece
proxy: typed app conns
2016-08-24 01:45:45 -04:00
Ethan Buchman
678599c7d4
consensus: add note about replay test
2016-08-23 11:33:18 -04:00
Ethan Buchman
3998bdbfc1
fixes from review
2016-08-17 23:08:43 -04:00
Ethan Buchman
1110c5d37d
privVal.LastSignBytes and more replay tests
2016-08-14 13:33:03 -04:00
Ethan Buchman
a1c20ce866
types: privVal.LastSignature. closes #247
2016-08-14 13:33:03 -04:00
Ethan Buchman
c90bde3187
some comments
2016-08-09 20:31:53 -04:00
Ethan Buchman
6fef314423
version bump and release branch
2016-08-05 19:15:14 -04:00
Ethan Buchman
8987d29bee
tests: broadcast_tx with tmsp; p2p
2016-07-24 14:08:47 -04:00
Ethan Buchman
05136ff09d
update some comments
2016-07-12 14:58:16 -04:00