Anton Kaliaev
1c82281b77
make app_options -> app_state backwards compatible
2018-03-26 21:51:07 +02:00
Ethan Buchman
20b198681b
Merge pull request #1328 from tendermint/bucky/add-vote-readability
...
addVote readability
2018-03-19 12:24:28 +01:00
Anton Kaliaev
2c445059f2
mark peer as good every blocksToContributeToBecomeGoodPeer blocks
...
if enough peers are marked good eventually some will become unmarked, so
good to have a force that will continue to cycle them back into good
territory!
Refs #1317
2018-03-19 14:10:25 +03:00
Anton Kaliaev
ab59f64f57
test we record votes and block parts
...
Refs #1317
2018-03-19 13:17:11 +03:00
Anton Kaliaev
42e3457884
fix tracking of votes and blockparts to not allow old information
...
also remove mutex
Refs #1317
2018-03-19 13:17:06 +03:00
Anton Kaliaev
31f3dd42e7
mark peer as good only once
...
or should we do it every N blocks?
Refs #1317
2018-03-19 13:17:00 +03:00
Anton Kaliaev
5fab8e404d
replace magic number with blocksToContributeToBecomeGoodPeer const
...
Refs #1317
2018-03-19 13:16:56 +03:00
Ethan Buchman
ab7dea4f20
consensus: return from errors sooner in addVote
2018-03-18 23:09:04 +01:00
Ethan Buchman
b297efb532
consensus: return from go-routine in test
2018-03-18 23:05:04 +01:00
Anton Kaliaev
86ddf17db0
add a todo
...
Refs #1281
2018-03-15 11:58:20 +04:00
Anton Kaliaev
a655500047
fix copy-pasted comment [ci skip]
2018-03-15 11:58:20 +04:00
Anton Kaliaev
714f885dac
mark peer as good if it contributed enough votes or block parts
...
Refs #1147
2018-03-15 11:58:20 +04:00
Anton Kaliaev
b0d8f552c5
return err if peer has sent a vote that does not match our round
2018-03-15 11:58:20 +04:00
Anton Kaliaev
63cb69cb96
comment out ErrAddingVote because it breaks byzantine_test
2018-03-15 11:58:20 +04:00
Anton Kaliaev
266974cb59
stop peer if it sends invalid vote
2018-03-15 11:58:20 +04:00
Anton Kaliaev
4242352852
stop peer on decoding error
2018-03-15 11:58:19 +04:00
Ethan Frey
fff0c6cd8e
Add app_state from genesis file in InitChain message
2018-03-02 03:46:04 -05:00
Ethan Buchman
5378bfc5c7
types.SignBytes -> o.SignBytes
2018-03-02 01:50:17 -05:00
Ethan Buchman
ca3655a409
types: p2pID -> P2PID
2018-03-02 01:42:56 -05:00
Zarko Milosevic
d4e93a6de3
Separate ValidBlock rule from unlocking rule
2018-03-01 11:42:22 +01:00
Zarko Milosevic
4670857c15
Add support for ValidBlock mechanism for the simplest case
2018-03-01 11:42:22 +01:00
Zach
2cc63069c6
rename dummy to kvstore ( #1223 )
...
* remove accidental binary
* docs: s/Dummy&dummy/KVStore&kvstore/g
* glide update to abci
* update abci import paths
* dummy begone, hello kvstore
* RequestInitChain needs genesisBytes
* glide update
2018-02-27 18:01:10 +04:00
Zach Ramsay
3cd604562c
RequestInitChain needs genesisBytes
2018-02-21 03:43:47 +00:00
Anton Kaliaev
2a24ae90c1
fixes from Jae's review
...
1. remove pointer
2. add Quit() method to Service interface
2018-02-12 14:32:09 +04:00
Ethan Buchman
d34286c421
minor fixes - tests pass
2018-02-03 03:54:49 -05:00
Ethan Buchman
e7747f7d66
it compiles
2018-02-03 03:52:17 -05:00
Ethan Buchman
cd0fd06b0d
update for sdk2 libs. need to fix kv test
...
NOTE we only updating for tmlibs and abci
2018-02-03 03:35:02 -05:00
Ethan Buchman
ab13806276
consensus: print go routines in failed test
2018-01-25 01:22:53 -05:00
Ethan Buchman
3ae26bd6e6
consensus: fix SetLogger in tests
2018-01-24 23:34:57 -05:00
Ethan Buchman
87087b8acd
consensus: minor cosmetic
2018-01-23 21:41:13 -05:00
Ethan Buchman
ee674f919f
StopPeerForError in blockchain and consensus
2018-01-21 13:32:04 -05:00
Ethan Buchman
6f3d9b4be3
fix race
2018-01-19 01:36:52 -05:00
Ethan Buchman
f06cc6630b
mempool: cfg.CacheSize and expose InitWAL
2018-01-19 01:03:03 -05:00
Ethan Buchman
8171628ee5
make tests run faster
2018-01-19 00:59:09 -05:00
Ethan Buchman
1cb76625d3
consensus: rename test funcs
2018-01-19 00:59:09 -05:00
Ethan Buchman
b1485b181a
Merge branch 'p2p-consolidate' into p2p-id
2018-01-13 15:20:23 -05:00
Zach
e0e600df05
Merge branch 'develop' into config
2018-01-06 05:30:38 +00:00
Ethan Buchman
a17105fd46
p2p: peer.Key -> peer.ID
2018-01-01 22:39:05 -05:00
Ethan Buchman
ff99ca7cdf
bump wal test timeout
2017-12-29 17:51:13 -05:00
Ethan Buchman
6112578d07
ValidateBlock is a method on blockExec
2017-12-28 23:15:54 -05:00
Ethan Buchman
ae68fcb78a
move fireEvents to ApplyBlock
2017-12-28 23:15:54 -05:00
Ethan Buchman
1d6f00859d
fixes from review
2017-12-28 23:15:54 -05:00
Ethan Buchman
537b0dfa1a
use NopEventBus
2017-12-28 23:15:54 -05:00
Ethan Buchman
0acca7fe69
final updates for state
2017-12-28 23:15:54 -05:00
Ethan Buchman
f55135578c
state: move methods to funcs
2017-12-28 23:15:54 -05:00
Ethan Buchman
a8e625e99d
config: unexpose chainID
2017-12-28 20:49:02 +00:00
Zach Ramsay
9da5cd0180
rebase fix
2017-12-28 20:49:02 +00:00
Zach Ramsay
70ba608850
config: write all default options to config file
...
config: test the default file
docs: spiff up config
config: minor fixes & comments
config: simplify test
config; use a seperate config directory, #556
config: update docs & parameterize file paths
config: PR comments
config: use the default object
fix a rebase error
2017-12-28 20:49:02 +00:00
Anton Kaliaev
75182f7205
change directory for each call, not only for each test
...
Fixes #1026
2017-12-28 11:17:15 -06:00
Ethan Buchman
7d81a3f4a5
address some comments from review
2017-12-27 01:27:03 -05:00
Ethan Buchman
6a4fd46479
fixes from rebase
2017-12-26 20:42:34 -05:00
Ethan Buchman
1d021c2790
update consensus/test_data/many_blocks.cswal
2017-12-26 20:27:40 -05:00
Ethan Buchman
869d873d5c
state.ApplyBlock takes evpool and calls MarkEvidenceAsCommitted
2017-12-26 20:27:32 -05:00
Ethan Buchman
7a18fa887d
evidence linked with consensus/node. compiles
2017-12-26 20:26:21 -05:00
Ethan Buchman
f7731d38f6
some comments and cleanup
2017-12-26 20:25:14 -05:00
Ethan Buchman
10c43c9edc
introduce evidence store
2017-12-26 20:25:14 -05:00
Ethan Buchman
fe4b53a463
EvidencePool
2017-12-26 20:24:54 -05:00
Ethan Buchman
7d086e9524
check if we already have evidence
2017-12-26 20:21:17 -05:00
Ethan Buchman
6e9433c7a8
post rebase fix
2017-12-26 20:21:17 -05:00
Ethan Buchman
39299e5cc1
consensus: note about duplicate evidence
2017-12-26 20:21:17 -05:00
Ethan Buchman
4661c98c17
add pubkey to conflicting vote evidence
2017-12-26 20:21:17 -05:00
Ethan Buchman
7928659f70
track evidence, include in block
2017-12-26 20:21:17 -05:00
Ethan Buchman
f80f6445a6
fix test
2017-12-26 20:15:09 -05:00
Ethan Buchman
4171bd3bae
fixes
2017-12-26 19:24:45 -05:00
Ethan Buchman
d844799b3b
Merge branch '950-enforce-less-13-val-changes-per-block' into develop
2017-12-26 19:22:21 -05:00
Ethan Buchman
289d92c97d
consensus: remove log stmt. closes #987
2017-12-26 10:41:31 -05:00
Anton Kaliaev
0093f9877a
change voting power change, not number of vals
2017-12-25 17:49:36 -06:00
Anton Kaliaev
cf0b5d3715
enforce <1/3 validator updates
...
Refs #950
2017-12-25 12:10:53 -06:00
Ethan Buchman
38608b1b0f
comment and tmlibs fix
2017-12-21 18:32:40 -05:00
Ethan Buchman
3d00c477fc
separate block vs state based validation
2017-12-21 16:49:47 -05:00
Anton Kaliaev
843e1ed400
Updates -> ValidatoSetUpdates
2017-12-19 13:03:39 -06:00
Ethan Frey
960b25408f
Store LastConsensusHash in State as well
...
Update all BlockValidation that it matches the last state
2017-12-19 12:28:08 -05:00
Ethan Frey
d151e36ea8
Add ConsensusHash to header
2017-12-19 12:28:08 -05:00
Ethan Buchman
e0fe84a856
Merge branch 'develop' into 977-wal-generator
2017-12-19 11:11:26 -05:00
Ethan Buchman
cb3ac6987e
remove some debugs
2017-12-19 10:11:37 -05:00
Anton Kaliaev
5a83e58428
stop eventBus
2017-12-17 20:16:02 -06:00
Anton Kaliaev
3f02ab0ead
unidirectional channel
2017-12-16 22:20:07 -06:00
Anton Kaliaev
99c58fc561
enable logging for wal_generator and set timeout to 1 min
...
Refs #977
2017-12-16 21:59:10 -06:00
Ethan Buchman
a86df17ceb
crank city
2017-12-16 19:55:04 -05:00
Ethan Buchman
5d04ccbe51
excessive logging. update tmlibs for timer fix
2017-12-16 19:16:08 -05:00
Ethan Buchman
0ec7909ec3
more logging in p2p and consensus
2017-12-16 13:36:52 -05:00
Anton Kaliaev
f8f28c8942
enable logging for wal_generator and set timeout to 1 min
...
Refs #977
2017-12-15 16:15:09 -06:00
Ethan Buchman
eddabab5e4
Merge pull request #965 from tendermint/573-handle-corrupt-wal-file
...
Handle corrupt WAL file
2017-12-15 14:33:16 -05:00
Anton Kaliaev
d669816a1b
send absent validators in BeginBlock
...
Refs #668
2017-12-15 12:13:02 -06:00
Anton Kaliaev
e40689b9cc
PanicCrisis is deprecated
2017-12-15 11:59:45 -06:00
Anton Kaliaev
709cf18aef
add gofuzz test for consensus wal
2017-12-15 11:56:24 -06:00
Anton Kaliaev
e57cad6c3f
correct maxMsgSizeBytes
2017-12-15 11:42:53 -06:00
Anton Kaliaev
b78606d94f
Merge pull request #967 from tendermint/feature/total-tx
...
Add TotalTx to block header
2017-12-13 17:09:48 -06:00
Anton Kaliaev
0a2ecaa393
Merge pull request #953 from tendermint/feature/time-fields
...
Add Timestamp to Proposal/Vote
2017-12-13 12:18:55 -06:00
Ethan Frey
dedf03bb81
Add TotalTx to block header, issue #952
...
Update state to keep track of this info.
Change function args as needed.
Make NumTx also an int64 for consistency.
2017-12-13 12:20:53 +01:00
Anton Kaliaev
06aece31cf
lower the max message size
2017-12-12 13:02:40 -06:00
Ethan Buchman
e0296d6c3c
consensus: fix makeBlockchainFromWAL
2017-12-12 12:14:15 -05:00
Ethan Frey
a29c781295
Add default timestamp to all instances of *types.Vote
2017-12-12 12:59:51 +01:00
Anton Kaliaev
af79a2a59e
fix error msg
2017-12-11 19:50:05 -06:00
Anton Kaliaev
ee66476d62
set max msg size
...
otherwise, it is easy to get OutOfMemory panic (somebody can even expoit
this)
2017-12-11 19:48:57 -06:00
Anton Kaliaev
40f9261d48
handle data corruption errors
...
Refs #573
2017-12-11 19:48:20 -06:00
Anton Kaliaev
b2385b46cf
wait 5 sec for a block on CircleCI
...
Fixes:
```
--- FAIL: TestHandshakeReplaySome (12.40s)
replay_test.go:332: waited too long for tendermint to produce 6 blocks
```
2017-12-11 16:22:27 -06:00
Ethan Buchman
e7b9cd8ee8
Merge branch 'develop' into 785-wal-improvements
2017-12-10 19:45:52 -05:00
Ricardo Domingos
59e89e7664
consensus: Fix typo on ticker.go documentation
2017-12-09 13:14:53 +01:00
Anton Kaliaev
90944bb1a2
be specific about what type we're encoding
...
to be consistent with Decode, which returns TimedWALMessage
2017-12-07 11:45:50 -06:00
Anton Kaliaev
07571741c5
[consensus] remove WAL separator (Refs #785 )
...
We don't really need a separator unless we have complex structures
(rows, cells like RDBMS have https://www.sqlite.org/fileformat.html ).
2017-12-07 11:36:46 -06:00
Anton Kaliaev
5cb936fa00
fixes after my own review
2017-12-06 18:28:14 -06:00
Anton Kaliaev
c6f025f40e
generate WAL on the fly (Refs #468 )
2017-12-06 16:01:08 -06:00
Ethan Buchman
b37230f6db
Merge pull request #918 from tendermint/abci-update
...
Abci update
2017-12-03 01:36:59 -05:00
Ethan Buchman
9af8da7aad
update for new abci int types
2017-12-02 01:47:55 -05:00
Anton Kaliaev
cd5a5d332f
remove comments for uint64 related to possible underflow [ci skip]
2017-12-01 23:30:08 -06:00
Anton Kaliaev
89cbcceac4
error if app returned negative last block height ( Fixes #911 )
2017-12-01 21:56:08 -06:00
Anton Kaliaev
922af7c405
int64 height
...
uint64 is considered dangerous. the details will follow in a blog post.
2017-12-01 19:04:53 -06:00
Anton Kaliaev
f1fbf995f7
protect ourselves again underflow (Refs #911 )
2017-12-01 17:17:22 -05:00
Anton Kaliaev
86af889dfb
remove unnecessary casts (Refs #911 )
2017-12-01 17:17:22 -05:00
Anton Kaliaev
b3492356e6
uint64 height (Refs #911 )
2017-12-01 17:17:22 -05:00
Anton Kaliaev
1e19860585
fixes from my own review
2017-11-29 14:24:18 -06:00
Anton Kaliaev
f65e357d2b
adapt Tendermint to new abci.Client interface
...
which was introduced in https://github.com/tendermint/abci/pull/130
2017-11-29 14:23:44 -06:00
Anton Kaliaev
a52cdbfe43
extract tags from DeliverTx/Result
...
and send them along with predefined
2017-11-29 14:23:43 -06:00
Anton Kaliaev
69b5da766c
service#Start, service#Stop signatures were changed
...
See https://github.com/tendermint/tmlibs/issues/45
2017-11-29 10:38:58 -06:00
Ethan Buchman
2009c3d4f1
Merge pull request #884 from tendermint/wal-benchmark-decode
...
consensus/WAL: benchmark WALDecode across data sizes
2017-11-28 03:39:55 +00:00
Ethan Buchman
9529f12c28
more linting
2017-11-27 22:39:12 +00:00
Ethan Buchman
55b81cc1a1
address linting FIXMEs
2017-11-27 22:39:12 +00:00
Zach Ramsay
c4caad7720
lint madness
2017-11-27 22:39:12 +00:00
Zach Ramsay
2563b4fc92
lint fixes
2017-11-27 22:39:12 +00:00
Zach Ramsay
6f3c05545d
fix new linting errors
2017-11-27 22:39:12 +00:00
Zach Ramsay
7ad8a8ab55
Tests almost passing
2017-11-27 22:39:12 +00:00
Zach Ramsay
a15c7f221d
linting: moar fixes
2017-11-27 22:39:11 +00:00
Zach Ramsay
d7cb291fb2
errcheck; sort some stuff out
2017-11-27 22:39:11 +00:00
Zach Ramsay
563faa98de
address comments, pr #643
2017-11-27 22:39:11 +00:00
Zach Ramsay
bc2aa79f9a
linter: sort through each kind and address small fixes
2017-11-27 22:39:11 +00:00
Zach Ramsay
48aca642e3
linter: address deadcode, implement incremental lint testing
2017-11-27 22:39:11 +00:00
Zach Ramsay
68e7983c70
linting errors: afew more
2017-11-27 22:39:11 +00:00
Zach Ramsay
8f0237610e
linting errors: clean it all up
2017-11-27 22:39:11 +00:00
Zach Ramsay
b75d4f73e7
errcheck: PR comment fixes
2017-11-27 22:39:11 +00:00
Zach Ramsay
331857c9e6
linting: apply errcheck part2
2017-11-27 22:39:11 +00:00
Zach Ramsay
57ea4987f7
linting: apply errcheck part1
2017-11-27 22:39:11 +00:00
Zach Ramsay
46ccbcbff6
linting: apply 'gofmt -s -w' throughout
2017-11-27 22:39:11 +00:00
Emmanuel Odeke
42da8cd297
consensus/WAL: benchmark WALDecode across data sizes
2017-11-23 12:43:11 -07:00
Anton Kaliaev
fa60d8120e
fix TestFullRound1 race (Refs #846 )
...
```
==================
WARNING: DATA RACE
Write at 0x00c42d7605f0 by goroutine 844:
github.com/tendermint/tendermint/consensus.(*ConsensusState).updateToState()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:465 +0x59e
I[11-14|22:37:28.781] Added to prevote vote="Vote{0:646753DCE124 1/02/1(Prevote) E9B19636DCDB {/CAD5FA805E8C.../}}" prevotes="VoteSet{H:1 R:2 T:1 +2/3:<nil> BA{2:X_} map[]}"
github.com/tendermint/tendermint/consensus.(*ConsensusState).finalizeCommit()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1229 +0x16a9
github.com/tendermint/tendermint/consensus.(*ConsensusState).tryFinalizeCommit()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1135 +0x721
github.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit.func1()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1087 +0x153
github.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1114 +0xa34
github.com/tendermint/tendermint/consensus.(*ConsensusState).addVote()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1423 +0xdd6
github.com/tendermint/tendermint/consensus.(*ConsensusState).tryAddVote()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1317 +0x77
github.com/tendermint/tendermint/consensus.(*ConsensusState).handleMsg()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:565 +0x7a9
github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:523 +0x6d2
Previous read at 0x00c42d7605f0 by goroutine 654:
github.com/tendermint/tendermint/consensus.validatePrevote()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/common_test.go:149 +0x57
github.com/tendermint/tendermint/consensus.TestFullRound1()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state_test.go:256 +0x3c5
testing.tRunner()
/usr/local/go/src/testing/testing.go:746 +0x16c
Goroutine 844 (running) created at:
github.com/tendermint/tendermint/consensus.(*ConsensusState).startRoutines()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:258 +0x8c
github.com/tendermint/tendermint/consensus.startTestRound()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/common_test.go:118 +0x63
github.com/tendermint/tendermint/consensus.TestFullRound1()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state_test.go:247 +0x1fb
testing.tRunner()
/usr/local/go/src/testing/testing.go:746 +0x16c
Goroutine 654 (running) created at:
testing.(*T).Run()
/usr/local/go/src/testing/testing.go:789 +0x568
testing.runTests.func1()
/usr/local/go/src/testing/testing.go:1004 +0xa7
testing.tRunner()
/usr/local/go/src/testing/testing.go:746 +0x16c
testing.runTests()
/usr/local/go/src/testing/testing.go:1002 +0x521
testing.(*M).Run()
/usr/local/go/src/testing/testing.go:921 +0x206
main.main()
github.com/tendermint/tendermint/consensus/_test/_testmain.go:106 +0x1d3
==================
```
2017-11-14 17:41:30 -06:00
Ethan Buchman
30f675aafa
Merge pull request #839 from tendermint/bugfix/pubsub-failures
...
Fix nondeterministic tests failures related to pubsub
2017-11-14 18:13:47 +00:00
Ethan Buchman
3db44dacae
Merge pull request #840 from tendermint/fix/tests
...
Fix/tests
2017-11-14 15:48:17 +00:00
Ethan Buchman
238e2b72ee
Merge pull request #834 from tendermint/829-enable-logs-by-default
...
Enable logs by default
2017-11-12 07:06:14 +00:00
Ethan Buchman
aba8a8f4fc
consensus: crank timeout in timeoutWaitGroup
2017-11-12 06:41:15 +00:00
Ethan Buchman
0448c2b437
consensus: fix LastCommit log
2017-11-12 06:40:27 +00:00
Anton Kaliaev
7fa12662c4
check whatever we can read from the channel
...
```
panic: interface conversion: interface {} is nil, not types.TMEventData
goroutine 7690 [running]:
github.com/tendermint/tendermint/consensus.waitForAndValidateBlock.func1(0xc427727620, 0x3)
/go/src/github.com/tendermint/tendermint/consensus/reactor_test.go:292 +0x62b
created by github.com/tendermint/tendermint/consensus.timeoutWaitGroup
/go/src/github.com/tendermint/tendermint/consensus/reactor_test.go:349 +0xa4
exit status 2
FAIL github.com/tendermint/tendermint/consensus 38.614s
```
2017-11-10 18:16:31 -05:00
Ethan Buchman
2cda777900
consensus: make mempool_test deterministic
2017-11-09 23:54:02 +00:00
Anton Kaliaev
a1cdc2b68a
set logger for peer's MConnection
2017-11-09 14:57:40 -05:00
Anton Kaliaev
ad03491ee6
remove duplicated key
2017-11-09 13:37:29 -05:00
Ethan Buchman
4b9dfc8990
consensus: fix for initializing block parts during catchup
2017-11-09 18:14:41 +00:00
Ethan Buchman
c0e2649ed6
Merge pull request #788 from tendermint/feature/548-indexing-tags
...
new pubsub package
2017-11-08 01:02:48 +00:00
Ethan Buchman
dd47884661
Merge pull request #820 from tendermint/790-use-tickers-instead-of-time-Sleep
...
prefer tickers to time.Sleep
2017-11-08 00:53:42 +00:00
Ethan Buchman
47f5e37205
copy RoundState for event
2017-11-07 23:57:23 +00:00
Anton Kaliaev
e0daca5693
fixes from Bucky's review
2017-11-07 18:20:24 -05:00
Anton Kaliaev
2d4ad02356
prefer tickers to time.Sleep (Refs #790 )
2017-11-07 15:38:25 -05:00