Anton Kaliaev
8fc7d63cf8
add missing Timestamp to Votes
...
Fixes:
```
panic: Panicked on a Sanity Check: can't encode times below 1970 [recovered]
panic: Panicked on a Sanity Check: can't encode times below 1970
goroutine 2042 [running]:
testing.tRunner.func1(0xc420e8c0f0)
/usr/local/go/src/testing/testing.go:711 +0x5d9
panic(0xcd9e20, 0xc420c8c270)
/usr/local/go/src/runtime/panic.go:491 +0x2a2
github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common.PanicSanity(0xcd9e20, 0xf8ddd0)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common/errors.go:26 +0x120
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire.WriteTime(0x0, 0x0, 0x0, 0x1306440, 0xc4201607e0, 0xc420e31658, 0xc420e31680)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/time.go:19 +0x11e
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire.writeReflectBinary(0xdc9e40, 0xc4201fcf30, 0x199, 0x1317b80, 0xdc9e40, 0xc98451, 0x9, 0x0, 0xdc9e40, 0xc420ead9c0, ...)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/reflect.go:525 +0x22f0
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire.writeReflectBinary(0xd25400, 0xc42000e2e8, 0x196, 0x1317b80, 0xd92d60, 0xc9a195, 0xa, 0x0, 0xcc8ce0, 0xc420164920, ...)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/reflect.go:530 +0x21e7
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire.writeReflectBinary(0xcc8ce0, 0xc4209f95b8, 0x197, 0x1317b80, 0xcc8ce0, 0xc9a195, 0xa, 0x0, 0xcc8ce0, 0xc420164920, ...)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/reflect.go:518 +0x2509
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire.writeReflectBinary(0xd873e0, 0xc4209f9580, 0x16, 0x1317b80, 0xd79400, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/reflect.go:530 +0x21e7
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire.WriteBinary(0xd873e0, 0xc4209f9580, 0x1306440, 0xc4201607e0, 0xc420e31658, 0xc420e31680)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/wire.go:80 +0x15f
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire.BinaryBytes(0xd873e0, 0xc4209f9580, 0x3, 0x8, 0xc420160798)
/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-wire/util.go:15 +0xb8
github.com/tendermint/tendermint/blockchain.(*BlockStore).SaveBlock(0xc4201342a0, 0xc420eac180, 0xc420130640, 0xc4209f9580)
github.com/tendermint/tendermint/blockchain/_test/_obj_test/store.go:192 +0x439
github.com/tendermint/tendermint/blockchain.TestBlockStoreSaveLoadBlock(0xc420e8c0f0)
/go/src/github.com/tendermint/tendermint/blockchain/store_test.go:128 +0x609
testing.tRunner(0xc420e8c0f0, 0xf20830)
/usr/local/go/src/testing/testing.go:746 +0x16d
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:789 +0x569
exit status 2
FAIL
```
2017-12-15 13:59:25 -06:00
Anton Kaliaev
c513649df4
strip protocol if defined
...
Fixes #934
2017-12-15 13:36:08 -06:00
Anton Kaliaev
a6911825b0
PanicCrisis is deprecated
2017-12-15 13:35:49 -06:00
Ethan Buchman and GitHub
eddabab5e4
Merge pull request #965 from tendermint/573-handle-corrupt-wal-file
...
Handle corrupt WAL file
2017-12-15 14:33:16 -05:00
Ethan Buchman and GitHub
3eee69de2d
Merge pull request #954 from tendermint/668-send-absent-validators
...
Send absent validators
2017-12-15 13:55:52 -05:00
Ethan Buchman and GitHub
068d83bce8
Merge pull request #677 from tendermint/blockchain-test-store
...
blockchain: add tests for BlockStore
2017-12-15 13:33:55 -05:00
Anton Kaliaev
7f649ccf23
fixes from Frey's review
2017-12-15 12:21:15 -06:00
Anton Kaliaev
808b830942
add a unit test
...
Refs #668
2017-12-15 12:13:02 -06: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
4f94caa1b9
explain what to do in case of truncation [ci skip]
2017-12-15 11:11:21 -06:00
Ethan Buchman
78a682e4b6
blockchain: test fixes
2017-12-15 12:07:48 -05:00
Emmanuel Odeke
a7b20d4e46
db: Simplify exists check, fix IsKeyInDomain signature, Iterator Close
...
+ *FSDB.HasKey now uses common.FileExists to test for file existence
+ IsKeyInDomain takes key as a []byte slice instead of as a string
to avoid extraneous []byte<-->string conversions for start and end
+ Iterator.Close() instead of Iterator.Release()
+ withDB helper to encapsulate DB creation, deferred cleanups
so that for loops can use opened DBs and discard them ASAP
Addressing accepted changes from review with @jaekwon
2017-12-15 02:58:51 -07:00
Emmanuel Odeke
cdc7988823
common: use genius simplification of tests from @ebuchman
...
Massive test simplication for more reliable tests from @ebuchman
2017-12-15 02:14:08 -07:00
Ethan Buchman
b5f465b4ec
common: use names prng and mrand
2017-12-15 00:23:25 -05:00
Ethan Buchman and GitHub
21d030dbfb
Merge pull request #975 from tendermint/974-fix-test-in-develop
...
add missing Timestamp to Vote
2017-12-14 09:22:11 -05:00
Ethan Frey
eb6d412a82
Add tests to protobuf objects for pr coverage
2017-12-14 09:35:33 +01:00
Ethan Frey
9c5e1a824d
Updated naming of EndBlock parameters
...
* Changes -> Updates for validators
* ConsensusParams.XXXParams -> ConsensusParams.XXX
* As per feedback from Jae on PR
2017-12-14 09:27:20 +01:00
Emmanuel Odeke
29471d75cb
common: no more relying on math/rand.DefaultSource
...
Fixes https://github.com/tendermint/tmlibs/issues/99
Updates https://github.com/tendermint/tendermint/issues/973
Removed usages of math/rand.DefaultSource in favour of our
own source that's seeded with a completely random source
and is safe for use in concurrent in multiple goroutines.
Also extend some functionality that the stdlib exposes such as
* RandPerm
* RandIntn
* RandInt31
* RandInt63
Also added an integration test whose purpose is to be run as
a consistency check to ensure that our results never repeat
hence that our internal PRNG is uniquely seeded each time.
This integration test can be triggered by setting environment variable:
`TENDERMINT_INTEGRATION_TESTS=true`
for example
```shell
TENDERMINT_INTEGRATION_TESTS=true go test
```
2017-12-14 00:18:30 -07:00
Anton Kaliaev
72da553ed9
add missing Timestamp to Vote
...
Fixes #974
2017-12-13 22:24:06 -06:00
Ethan Buchman
a2f7898b6d
db: fix c and go iterators
2017-12-13 22:28:37 -05:00
Ethan Buchman
d4aeca8ce3
fixes from @melekes
2017-12-13 20:11:11 -05:00
Anton Kaliaev and GitHub
b78606d94f
Merge pull request #967 from tendermint/feature/total-tx
...
Add TotalTx to block header
2017-12-13 17:09:48 -06:00
Ethan Frey
a6f719a402
Add tests for block validation
2017-12-13 19:54:16 +01:00
Anton Kaliaev and GitHub
e0fbd148ef
Merge pull request #958 from tendermint/pex-on-by-default
...
activate PEX reactor by default
2017-12-13 12:52:17 -06:00
Anton Kaliaev
2f91289880
update changelog [ci skip]
2017-12-13 12:26:12 -06:00
Ethan Buchman and Anton Kaliaev
462b755a60
activate PEX reactor by default
2017-12-13 12:25:48 -06:00
Anton Kaliaev and GitHub
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
895e14d6bd
Update Diffs to Changes, fix README
2017-12-13 17:57:43 +01:00
Ethan Frey
25f6f6518c
Update the ResponseEndBlock values
...
* Rename diffs -> changes
* Add consensus_param_changes
For context, see:
https://github.com/tendermint/tendermint/issues/924
https://github.com/tendermint/tendermint/issues/952
2017-12-13 17:50:24 +01: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
Ethan Buchman
318982c0ba
checkKeyCondition -> IsKeyInDomain
2017-12-13 01:34:00 -05:00
Anton Kaliaev and GitHub
a80b66268f
Merge pull request #97 from tendermint/rm-root-flag
...
remove deprecated --root flag
2017-12-12 23:29:36 -06:00
Anton Kaliaev
541780c6df
uncomment tests
2017-12-12 23:23:49 -06:00
Anton Kaliaev
c532e8cabc
add \n to Printf lines
2017-12-12 22:44:55 -06:00
Jae Kwon
5636a02d03
Remove GetError() from Iterator
2017-12-12 19:19:26 -08:00
Ethan Buchman
edf07760d6
db: fsdb iterator
2017-12-12 21:08:38 -05:00
Ethan Buchman
bcacaf164b
db: cleveldb iterator
2017-12-12 20:58:35 -05:00
Ethan Buchman
3e5dbef6a2
db: goleveldb iterator
2017-12-12 20:38:03 -05:00
Ethan Buchman
39e40ff5ce
db: memdb iterator
2017-12-12 20:06:50 -05:00
Ethan Buchman
bb115d4d61
cleanupDBDir
2017-12-12 19:28:52 -05:00
Emmanuel Odeke
bbc3b807c6
all: fix vet issues with build tags, formatting
...
* Build tags need to come before the package name
and have at least a blank line, between them and
the package, please see
https://golang.org/pkg/go/build/#hdr-Build_Constraints
* fmt.Println doesn't take formatting verbs
* Fix a missing formatting argument to fmt.Printf
2017-12-12 17:23:16 -07:00
Ethan Buchman
ba8c5045b5
db: fixes to fsdb and clevledb
2017-12-12 19:22:08 -05:00
Ethan Buchman
c547caf04f
db: some test cleanup
2017-12-12 19:08:22 -05:00
Emmanuel Odeke
5ea42475ce
cmd/abci-cli: implement batch
...
Can now run batch which can be tested by:
```shell
echo -e "echo foo\necho blue" | abci-cli batch
```
giving
```shell
I[12-12|07:55:55.513] Starting socketClient
module=abci-client impl=socketClient
-> code: OK
-> data: foo
-> data.hex: 0x666F6F
-> code: OK
-> data: blue
-> data.hex: 0x626C7565
```
2017-12-12 16:57:51 -07:00
Zach Ramsay and Emmanuel Odeke
cabc516726
batch: progress
2017-12-12 16:57:51 -07:00
Emmanuel Odeke
ecc13d5a8e
cmd/abci-cli: use a single connection per session
...
Use the single client connection at startup time
for sending over commands instead of shelling out
for every command.
This code fixes the regression from
https://github.com/tendermint/abci/pull/117
which instead used "os/exec".Command with:
"abci-cli <the_command> [args...]"
The purpose of this code is to restore us
back to the state after cobra replace urlfave/cli.
There is still a bit of work to implement Batch
itself, but that should be simpler as a focused
command.
Fixes #133
2017-12-12 16:57:51 -07:00
Ethan Buchman
5b7f90dfb2
db: test panic on nil key
2017-12-12 18:42:47 -05:00