Ethan Buchman
d55243f0e6
fix import paths
2018-07-01 22:36:49 -04:00
Anton Kaliaev
aa20c45ae9
log total when adding new txs to the mempool
2018-06-27 18:14:45 +04:00
Ethan Buchman
fa3bd05d44
mempool: log hashes, not whole tx
2018-06-27 18:14:45 +04:00
Alexander Simmerl
a605b66c5a
Move abci imports
2018-06-22 07:28:07 +02:00
Ethan Buchman
9cd9f3338b
Merge branch 'master' into develop
2018-06-21 12:57:09 -07:00
Anton Kaliaev
205d8b8062
fixes after @xla review
...
- move prometheus metrics into internal packages
- *Option structs
- misc. format changes
2018-06-20 12:40:25 +04:00
Anton Kaliaev
84812145cb
friendly apis for constructors
2018-06-20 12:40:25 +04:00
Anton Kaliaev
7efb73aa18
mempool size metric
2018-06-20 12:38:45 +04:00
Anton Kaliaev
4f5492c831
add nopTxCache (Nil Object Pattern)
...
to better handle zero cache size
2018-06-19 11:59:07 +04:00
Ethan Buchman
4b2348f697
mempool: fix cache_size==0. closes #1761
2018-06-18 18:21:19 -07:00
Ethan Buchman
a519825bf8
consensus: fixes #1754
...
* updateToState exits early if the state isn't new, which happens after
* fast syncing. This results in not sending a NewRoundStep message. The mempool
* reactor depends on PeerState, which is updated by NewRoundStep
* messages. If the peer never sends a NewRoundStep, the mempool reactor
* will think they're behind, and never forward transactions. Note this
* only happens when `create_empty_blocks = false`, because otherwise
* peers will move through the consensus state and send a NewRoundStep
* for a new step soon anyways. Simple fix is just to send the
* NewRoundStep message during updateToState even if exit early
2018-06-18 17:08:09 -07:00
Anton Kaliaev
3fa734ef5a
recheck only if there are txs left in the mempool ( #1645 )
2018-06-04 14:28:47 +04:00
Ethan Buchman
98b0c51b5f
fix possible mempool deadlock
2018-06-03 16:11:52 -04:00
Anton Kaliaev
202a43a5af
remove TODO
...
no longer relevant, I guess. since ABCI only defines 0 (success) code.
2018-05-18 10:48:13 +04:00
Anton Kaliaev
c9001d5a11
bound the mempool
...
Refs #345
2018-05-18 10:45:51 +04:00
Anton Kaliaev
ae572b9038
remove extra call to Exists
...
Refs #345
https://github.com/tendermint/tendermint/issues/1539#issuecomment-387240606
2018-05-18 10:17:09 +04:00
Anton Kaliaev
bbe1355957
log only hash, not tx itself
2018-05-17 10:00:59 +04:00
Anton Kaliaev
7c14fa820d
do not log txs at info level
...
BEFORE:
```
./tm-bench -c 5 -r 1000 127.0.0.1:46657
Stats Avg StdDev Max
Txs/sec 1826 843 2744
Blocks/sec 1.100 0.300 2
```
AFTER:
```
./tm-bench -T 30 -c 5 -r 1000 127.0.0.1:46657
Stats Avg StdDev Max
Txs/sec 6120 1970 9776
Blocks/sec 1.000 0.000 1
```
2018-05-17 10:00:59 +04:00
Anton Kaliaev
11b68f1934
rewrite broadcastTxRoutine to use channels
...
https://play.golang.org/p/gN21yO9IRs3
```
func waitWithCancel(f func() *clist.CElement, ctx context.Context) *clist.CElement {
el := make(chan *clist.CElement, 1)
select {
case el <- f():
```
will just run f() blockingly, so this doesn't change much in terms of behavior.
2018-02-05 16:36:26 +04:00
Anton Kaliaev
5f3048bd09
call FlushSync before calling CommitSync
...
if we call it after, we might receive a "fresh" transaction from
`broadcast_tx_sync` before old transactions (which were not
committed).
Refs #1091
```
Commit is called with a lock on the mempool, meaning no calls to CheckTx
can start. However, since CheckTx is called async in the mempool
connection, some CheckTx might have already "sailed", when the lock is
released in the mempool and Commit proceeds.
Then, that spurious CheckTx has not yet "begun" in the ABCI app (stuck
in transport?). Instead, ABCI app manages to start to process the
Commit. Next, the spurious, "sailed" CheckTx happens in the wrong place.
```
2018-01-23 16:56:14 +04:00
Ethan Buchman
f06cc6630b
mempool: cfg.CacheSize and expose InitWAL
2018-01-19 01:03:03 -05:00
Ethan Buchman
c9be2b89f9
mempool: return error on cached txs
2017-12-02 01:15:11 -05: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
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
Emmanuel Odeke
3595b5931a
mempool: implement Mempool.CloseWAL
...
Fixes https://github.com/tendermint/tendermint/issues/890
Add a CloseWAL method to Mempool to close the underlying WAL file
and then discard it so that further writes to it will have no effect.
2017-11-27 21:37:25 -07: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
Ethan Buchman
ac2ef9e0ea
Merge pull request #750 from tendermint/feature/cleanup
...
Cleanup of code and code docs
2017-10-23 11:14:15 -04:00
Adrian Brink
819f81f702
Change NOTE to CONTRACT
2017-10-23 11:04:45 -04:00
Adrian Brink
782a836db0
Cleanup of code and code docs
...
This cleans up some of the code in the state package
2017-10-23 11:04:45 -04:00
Anton Kaliaev
f908dd0e55
only notify when there are some txs (Refs #753 )
2017-10-23 10:31:00 -04:00
Anton Kaliaev
54f2cc9709
[docs] add how to read logs guide [ci skip]
2017-10-04 18:35:22 +04:00
Ethan Buchman
88138c38cf
mempool: reactor test
2017-09-05 16:25:02 -04:00
Ethan Buchman
c5a657f540
consensus: test proposal heartbeat
2017-08-10 01:24:23 -04:00
Ethan Buchman
fb47ca6d35
fixes from review
2017-08-04 21:36:11 -04:00
Ethan Buchman
3444bee47f
fixes from review; use mempool.TxsAvailable() directly
2017-07-28 23:42:43 -04:00
Ethan Buchman
fc3fe9292f
fixes from review
2017-07-28 22:12:11 -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
311f18bebf
mempool: comments
2017-07-17 12:58:10 -04:00
spring1843
cf686d4f83
Fix commonly misspelled words
2017-05-20 21:43:00 -07:00
Anton Kaliaev
f8fdbe3dbc
changes as per Bucky's review
2017-05-13 16:22:51 +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
75b6c5215f
fewer structs. remove viper from consensus
2017-05-04 22:43:55 -04:00
Ethan Buchman
7c0f51e24b
remove viper from mempool
2017-05-04 22:39:22 -04:00
Ethan Buchman
fcf78a5da7
cleanup go-config/viper and some unnamed imports
2017-04-25 14:54:56 -04:00