Commit Graph

387 Commits

Author SHA1 Message Date
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
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 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
zramsay cf31f8d06f core: apply megacheck vet tool (unused, gosimple, staticcheck) 2017-05-29 23:11:40 -04:00
Ethan Buchman 30a19fc899 [consensus] Info->Debug for is a validator log msg 2017-05-18 11:26:15 +02:00
Adrian Brink eb9ca23250 log whether node is a validator in each round 2017-05-16 14:01:52 +02:00
Anton Kaliaev f8fdbe3dbc
changes as per Bucky's review 2017-05-13 16:22:51 +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 Frey 6b059e0063 Accept relative paths in all configs, TODO: must SetRoot 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 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 d1926bcad1 use tmlibs 2017-04-21 18:12:54 -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 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 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 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
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 c147b41013 TMSP -> ABCI 2017-01-12 15:53:32 -05:00
Ethan Buchman e7a12f8e38 cs.Wait() 2017-01-12 14:44:42 -05:00
Ethan Buchman ce0c638005 little fix 2017-01-11 18:37:36 -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 d68cdce2d5 consensus: check HasAll when TwoThirdsMajority 2017-01-11 17:53:46 -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 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 faf23aa0d4 consensus: TimeoutTicker, skip TimeoutCommit on HasAll 2016-12-19 15:42:36 -05: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 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
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
Jae Kwon d83fc02597 MakePartSet takes partSize from config. fix replay test 2016-11-16 01:23:16 -05:00
Ethan Buchman 57da2e4af5 make byzantine logic testable 2016-11-15 18:45:36 -05:00
Jae Kwon fd128c7180 Fix comments from review 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
Jae Kwon 2aecb2a4a3 Ensure *_wal_dir exists 2016-11-05 09:15:34 -07: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 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 7dcb567e53 replay test data 2016-10-11 11:44:07 -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 1110c5d37d privVal.LastSignBytes and more replay tests 2016-08-14 13:33:03 -04:00
Ethan Buchman c90bde3187 some comments 2016-08-09 20:31:53 -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
Ethan Buchman f44336d57d consensus: don't print shared vars in cs.String() 2016-07-12 12:47:13 -04:00
Ethan Buchman dd788c5631 consensus: fix race from OnStop accessing cs.Height 2016-07-11 20:55:07 -04:00
Ethan Buchman 8ca615c301 wait until txs removed from mempool to fire tx events 2016-07-05 17:03:09 -04:00
Jae Kwon ad17090a0f No global config 2016-05-08 15:00:58 -07:00
Ethan Buchman 39344a601d flush before commit 2016-04-29 14:23:04 -07:00
Ethan Buchman 8e5e5c689f lock mempool for commit and update. closes #202 2016-04-29 14:23:04 -07:00
Ethan Buchman 523a170c3e EventDataTypeNewBlockHeader 2016-04-19 20:59:52 -04:00
Ethan Buchman ae07c0171d light weight block event 2016-04-19 20:45:33 -04:00
Ethan Buchman 79c9a9f03a don't verify own block parts 2016-04-19 20:45:33 -04:00
Ethan Buchman 5e42c96267 crank the part size; prioritize data channel 2016-04-19 20:45:33 -04:00
Jae Kwon 39d72d5811 Remove fees 2016-04-03 04:51:44 -07:00
Jae Kwon f17c4c1d57 s/Validation/Commit/g 2016-04-02 09:10:16 -07:00
Jae Kwon 2c1504f93c Reap takes maxTxs 2016-03-06 15:08:32 -08:00
Ethan Buchman 06a7bb531b consensus: dont allow peer round states to decrease 2016-03-05 16:41:54 -05:00
Ethan Buchman 94f3d201e1 drop mempool_reap. use block_size=-1 instead 2016-03-05 16:41:54 -05:00
Ethan Buchman 085b3bc1f2 consensus: don't wait for wal if conS not running 2016-03-03 06:32:08 +00:00
Ethan Buchman 4430073fab dont log bad block part if round mismatch 2016-03-03 06:32:03 +00:00
Ethan Buchman 3891e4d66d config: cswal_light, mempool_broadcast, mempool_reap 2016-03-03 06:31:59 +00:00
Ethan Buchman 69d906f7dd drain internalMsgQueue and wait for cswal on quit 2016-02-29 18:02:22 -05:00
Ethan Buchman c9ec9cf00e config: block size, consensus timeouts, recheck tx 2016-02-29 17:04:33 -05:00
Jae Kwon d31d3c58ad Recheck txs 2016-02-14 17:00:33 -08:00
Ethan Buchman 50ac66f79b fast sync fixes 2016-02-07 16:56:59 -08:00
Ethan Buchman c0024cc7b2 log invalid txs 2016-01-31 20:00:02 -05:00
Jae Kwon 0f1cf243fd Merge remote-tracking branch 'origin/replay' 2016-01-28 19:53:22 -08:00
Jae Kwon 8a3bba48e3 s/*EventDataRoundState/EventDataRoundState/g 2016-01-28 19:44:44 -08:00
Ethan Buchman 3cce757adc move DialSeeds to go-p2p and add to rpc 2016-01-20 13:12:42 -05:00
Ethan Buchman 26f0e2bc2d msgLogFP -> write ahead log 2016-01-18 14:44:45 -05:00
Ethan Buchman 3b06368569 rebase fixes 2016-01-14 20:15:33 -05:00
Ethan Buchman 6bcf53195f consensus: use replay log to avoid sign regression 2016-01-14 18:58:12 -05:00
Ethan Buchman 56076d4d0e some cleanup; log time with consensus msgs 2016-01-14 18:58:11 -05:00
Ethan Buchman 9fc0726504 timeoutProposeDelta 2016-01-14 18:58:11 -05:00
Ethan Buchman c0c2a4b968 use validation round in reconstructLastCommit 2016-01-14 18:58:11 -05:00
Ethan Buchman 2b13386d7b consensus: replay console 2016-01-14 18:58:11 -05:00
Ethan Buchman 6aaa5fb0bf consensus: msg saving and replay 2016-01-14 18:58:11 -05:00
Jae Kwon f100404362 Make EventDataRoundState use json:"-" instead of Getter/Setter 2016-01-14 11:07:31 -08:00
Ethan Buchman 0be13d1d27 move alert, events, rpc into own repos 2016-01-12 19:15:10 -05:00
Jae Kwon 7cf85c5e71 Change commit timeout to 1 sec for testing 2016-01-09 20:22:10 -08:00
Jae Kwon 5d06bb964b Fix comments about AppHash, rollbacks, etc 2016-01-09 12:09:31 -08:00
Jae Kwon 3e3c0083c7 Make order be decided first; Remove TMSP Commit/Rollback 2016-01-08 16:51:20 -08:00
Jae Kwon ccbcb9f418 Reduce commit timeout for tests 2016-01-02 20:22:36 -08:00
Ethan Buchman 94194fea46 fix logging proposal when we might not have it 2015-12-29 15:39:24 -05:00
Jae Kwon d87667a0c2 Conform to go-wire new TypeByte behavior for broadcasts 2015-12-21 15:18:16 -08:00
Ethan Buchman c3a8f202ab consensus: fix negative timeout; log levels 2015-12-15 14:44:58 -05:00
Ethan Buchman b9e143d956 Fireable -> EventSwitch; rs in EventDataRoundState; fixes from review 2015-12-14 00:38:19 -05:00
Ethan Buchman 261647a012 Enter* -> enter*. Comments/fixes from Jae 2015-12-13 20:48:09 -05:00
Ethan Buchman 4483971776 conR uses events to trigger newstep & hasvote broadcasts 2015-12-13 19:30:15 -05:00
Ethan Buchman 9dea9539b4 fix consensus tests 2015-12-13 16:41:13 -05:00
Ethan Buchman 07a96a703e move updateToState back 2015-12-12 17:22:48 -05:00
Ethan Buchman e30d1bbd04 updateRoundStep consistency 2015-12-12 16:25:49 -05:00
Ethan Buchman 736bc1f02f public interface; max steps; move updateToState 2015-12-12 01:28:33 -05:00
Ethan Buchman c3f880e758 fire timeout events in handleTimeout; internalMsgQueue 2015-12-11 11:57:15 -05:00
Ethan Buchman d9b55101e5 move routines to consensus state. drop locks and other go routines 2015-12-10 11:41:18 -05:00
Ethan Buchman 4b6e992a47 timeoutRoutine 2015-12-08 16:00:59 -05:00