d321839669
wip: fix code block in ADR
2018-02-09 16:53:17 -05:00
c27fda09dd
wip: Comment types
...
* add comments to all public types
* fix comments to adhere to comment standards
2018-02-09 16:53:15 -05:00
23eb84db35
wip: priv val via sockets
2018-02-09 16:52:58 -05:00
bef91ea7fe
adr-008-priv-validator
2018-02-09 16:52:05 -05:00
459633fb4c
types/priv_validator
2018-02-09 16:38:23 -05:00
f1c8489270
Merge pull request #1201 from tendermint/1022-do-not-enforce-1/3-val-changes
...
do not enforce 1/3 validator power change
2018-02-09 16:15:38 -05:00
2d10c8f15b
Merge pull request #1095 from tendermint/804-p2p-issues
...
[p2p] Pong Timeout
2018-02-09 14:38:24 -05:00
106cdb74e5
do not enforce 1/3 validator power change
...
leave it to the app
Refs #1022
2018-02-09 23:30:04 +04:00
22b038810a
do not block in recvRoutine
2018-02-09 23:03:26 +04:00
45750e1b29
fix race by sending signal instead of stopping pongTimer
2018-02-09 21:32:29 +04:00
26419fba28
refactor code plus add one more test
...
* extract stopPongTimer method
* TestMConnectionMultiplePings
2018-02-09 21:32:29 +04:00
ac0123d249
drain pongTimeoutCh and pongTimer's channel to prevent leaks
2018-02-09 21:32:29 +04:00
f4ff66de30
rewrite pong timer to use time.AfterFunc
2018-02-09 21:32:29 +04:00
747b73cb95
fix merge conflicts
2018-02-09 21:32:29 +04:00
161e100a24
close return channel when we're done
...
Benchmark results:
```
BenchmarkSwitchBroadcast-2 30000 71275 ns/op
--- BENCH: BenchmarkSwitchBroadcast-2
switch_test.go:339: success: 1, failure: 0
switch_test.go:339: success: 100, failure: 0
switch_test.go:339: success: 10000, failure: 0
switch_test.go:339: success: 30000, failure: 0
```
2018-02-09 21:32:29 +04:00
3ae738f453
increase timeouts
2018-02-09 21:32:29 +04:00
d14d4a2527
remove TryBroadcast
2018-02-09 21:32:29 +04:00
860da464df
remove weird concurrency testing
2018-02-09 21:32:28 +04:00
4e2000abfe
control order by sending msgs from one goroutine
2018-02-09 21:32:28 +04:00
5834a59816
read ping
2018-02-09 21:32:28 +04:00
b28b76ddf7
rename pingTimeout to pingInterval, pongTimer is now time.Timer
2018-02-09 21:32:28 +04:00
91e4f4b786
ping/pong timeout in config
2018-02-09 21:32:28 +04:00
9b554fb2c4
switch test modification
2018-02-09 21:32:28 +04:00
f97ead4f5f
prep for merge
2018-02-09 21:32:28 +04:00
5af22d6ee6
remove SwitchEventNewPeer, SwitchEventDonePeer
2018-02-09 21:32:28 +04:00
1d16df6a92
add test, TrySend in broadcast
2018-02-09 21:32:27 +04:00
e7bc946760
Merge pull request #1200 from tendermint/update-deps
...
Update tmlibs & protobuf deps
2018-02-09 11:00:43 -05:00
cf1e1f5899
Merge pull request #1194 from tendermint/1177-semantics-of-currate-low-msg
...
improve "curRate too low" message
2018-02-09 11:00:09 -05:00
2f8372d629
update protobuf
2018-02-09 13:58:36 +04:00
d84e4effce
update tmlibs
2018-02-09 13:47:51 +04:00
0c1b91b762
revert back curRate != 0
2018-02-09 13:02:44 +04:00
c8990d06d9
remove curRate != 0
2018-02-09 12:01:13 +04:00
b0a55882b2
lower the minRecvRate
...
See https://github.com/tendermint/tendermint/issues/1177#issuecomment-363720118
2018-02-09 12:01:12 +04:00
d1fa44e816
improve "curRate too low" message
...
Refs #1177
Note on labels:
KB - 1024
kB - 1000
https://ux.stackexchange.com/questions/13815/files-size-units-kib-vs-kb-vs-kb
2018-02-09 12:01:12 +04:00
199ea40980
Merge pull request #1196 from tendermint/1149-TestReactorValidatorSetChanges-fails-non-deterministically
...
WIP: TestReactorValidatorSetChanges fails non deterministically
2018-02-09 01:51:17 -05:00
66fc476e1e
Merge pull request #1173 from tendermint/memory-leak-in-reconnect-to-peer-2
...
fix memory leak in mempool reactor
2018-02-09 01:50:34 -05:00
6b347200d9
Merge pull request #1197 from tendermint/1155-seed-mode-flag
...
add seed_mode flag (`--p2p.seed_mode`)
2018-02-08 17:48:39 -05:00
8a908a7cf9
Merge pull request #1193 from tendermint/return-back-cmd-logging
...
With must be called on log.filter, otherwise "main" entries get filtered
2018-02-08 16:30:29 -05:00
0bcc11c9bc
Merge pull request #1191 from tendermint/event-buffer-slice-clearing-on-flush
...
types: TxEventBuffer.Flush now uses capacity preserving slice clearing idiom
2018-02-08 16:28:47 -05:00
0247a21a93
Merge pull request #1086 from tendermint/966-deterministic-tooling-for-releases
...
Distribution improvements (freeze glide version + get rid of gox)
2018-02-08 15:26:11 -05:00
cf1f483526
add seed_mode flag (--p2p.seed_mode
)
2018-02-08 17:20:55 +04:00
3f9aa8d8fa
document that msgBytes in p2p/connection change
2018-02-08 13:25:26 +04:00
d6d1f8512d
do not reset pingTimer
...
don't bother with this "only ping when we havent heard from them". lets
just always ping every peer from the sendRoutine every 10s no matter
what. if they dont pong within pongTimeout, disconnect :)
2018-02-08 13:08:11 +04:00
2b2c233977
write docs for Reactor interface
2018-02-08 13:07:40 +04:00
7640e6a29f
add some p2p TODOs
2018-02-08 12:46:04 +04:00
b0ca8a0872
With must be called on log.filter, otherwise "main" entries get filtered
...
Also, we should allow "main" module to log INFO messages like
```
I[02-07|07:57:25.074] Found private validator module=main path=/home/vagrant/.tendermint/config/priv_validator.json
I[02-07|07:57:25.076] Found genesis file module=main path=/home/vagrant/.tendermint/config/genesis.json
```
Refs https://github.com/cosmos/gaia/issues/118
**BEFORE**:
```
$ tendermint init
```
**AFTER**:
```
$ tendermint init
I[02-07|07:57:25.074] Found private validator module=main path=/home/vagrant/.tendermint/config/priv_validator.json
I[02-07|07:57:25.076] Found genesis file module=main path=/home/vagrant/.tendermint/config/genesis.json
```
2018-02-07 12:08:13 +04:00
9e767771fc
Merge pull request #1188 from ltfschoen/patch-1
...
Update getting-started.rst with Python 3 example
2018-02-06 12:53:47 -05:00
6c8d7a8c19
deterministic tooling for releases
...
get rid of gox
build target builds inside docker, dev-build - locally
Revert "build target builds inside docker, dev-build - locally"
This reverts commit 8ba89d5e8c5668e3839ff49952a9166d1158f6e8.
add build tags to make build/build_race/install
use tendermint's fork of glide instead of tar.gz
remove TMHOME unused var + set length for git hash
get rid of GOTOOLS_CHECK
fixes after review
zip
needed for distribution
2018-02-06 12:46:13 +04:00
15ef57c6d0
types: TxEventBuffer.Flush now uses capacity preserving slice clearing idiom
...
Fixes https://github.com/tendermint/tendermint/issues/1189
For every TxEventBuffer.Flush() invoking, we were invoking
a:
b.events = make([]EventDataTx, 0, b.capacity)
whose intention is to innocently clear the events slice but
maintain the underlying capacity.
However, unfortunately this is memory and garbage collection intensive
which is linear in the number of events added. If an attack had access
to our code somehow, invoking .Flush() in tight loops would be a sure
way to cause huge GC pressure, and say if they added about 1e9
events maliciously, every Flush() would take at least 3.2seconds
which is enough to now control our application.
The new using of the capacity preserving slice clearing idiom
takes a constant time regardless of the number of elements with zero
allocations so we are killing many birds with one stone i.e
b.events = b.events[:0]
For benchmarking results, please see
https://gist.github.com/odeke-em/532c14ab67d71c9c0b95518a7a526058
for a reference on how things can get out of hand easily.
2018-02-05 23:34:15 -08:00
f37c502fd8
Update getting-started.rst with Python 3 example
2018-02-06 16:00:51 +11:00