Commit Graph

1890 Commits

Author SHA1 Message Date
Anton Kaliaev 5b0489cdb4
use plain struct instead of go-config 2017-04-10 22:46:49 +04:00
Anton Kaliaev b8a939a894
test non persistent mconnection 2017-04-10 22:46:48 +04:00
Anton Kaliaev 2b02843453
remove unused const 2017-04-10 22:46:48 +04:00
Anton Kaliaev 5be72672fe
use golang time datatype instead of time units in name 2017-04-10 22:46:48 +04:00
Anton Kaliaev 549d3bd09a
tests for MConnection 2017-04-10 22:46:48 +04:00
Anton Kaliaev 868017cf1a
import go-common as cmn 2017-04-10 22:46:48 +04:00
Anton Kaliaev 3478de50a1
no need for map - tx responses should arrive in order (Refs #237)
```
me: so we are executing them in order and receiving them in order and there is no way we could receive them out of order (due to network or something else), correct?
ebuchman: if we receive them out of order, ABCI is broken
ebuchman: so it is possible, if the ABCI server we're talking to is not implementing the spec
ebuchman: but that shouldn't justify us building a map
```
2017-04-10 22:44:08 +04:00
Anton Kaliaev 63704454a3
expose `/tx?hash="XXXXXXXXXXXX"` RPC call 2017-04-10 22:44:07 +04:00
Anton Kaliaev b08f29cb71
add config option for tx indexing and disable it by default 2017-04-10 22:44:07 +04:00
Anton Kaliaev d62e85757f
execution test 2017-04-10 22:44:07 +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 fc95c9872f Merge pull request #438 from tendermint/replay-fix
consensus: timeout on replayLastBlock
2017-04-10 10:33:48 -04:00
Ethan Buchman 09f7dabd5e update comment 2017-03-28 14:06:03 -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
Anton Kaliaev ba5382b70e
open result&error channels on start 2017-03-28 14:17:40 +04:00
Anton Kaliaev b0d2032488
use BaseService.OnReset method to recreate channels 2017-03-28 14:01:22 +04:00
Ethan Buchman 162fbdd17b Merge pull request #419 from tendermint/cli_cobra
added use of Cobra CLI
2017-03-27 17:16:43 -04:00
Ethan Buchman 0413a87eb4 fix typo 2017-03-27 16:59:54 -04:00
Ethan Buchman c1dc1a1a45 Merge pull request #437 from tendermint/feature/431-data-flag
rename TMROOT to TMHOME
2017-03-27 15:47:02 -04:00
Ethan Buchman 077cf13a1f consensus: timeout on replayLastBlock 2017-03-27 15:41:45 -04:00
Anton Kaliaev a416c37ebd Merge pull request #12 from tendermint/close-ws-connection
close ws connection on Stop
2017-03-27 20:50:18 +04:00
Anton Kaliaev 12ead6cc7e
make changes backwards compatible (Refs #431) 2017-03-27 20:41:00 +04:00
Anton Kaliaev 5f6de800a0
rename TMROOT to TMHOME (Refs #431) 2017-03-27 15:17:10 +04:00
Anton Kaliaev d6587be7bc
[WSClient] allow for multiple restarts
needed for 3044f66ba9
See https://github.com/tendermint/tools/issues/6
2017-03-21 22:08:08 +04:00
Anton Kaliaev afc39febed
close ws connection on Stop 2017-03-21 22:02:25 +04:00
Anton Kaliaev b54b9b4ecc
update url to network monitor [ci skip] [circleci skip] 2017-03-13 14:25:57 +04:00
Anton Kaliaev 5d19a008ce
add Call method to WSClient, which does proper encoding of params 2017-03-10 15:33:45 +04:00
Anton Kaliaev 3233c9c003
WSClient failed to "echo_bytes"
Error:
```
Expected nil, but got: encoding/hex: invalid byte: U+0078 'x'
```
2017-03-10 14:56:04 +04:00
Anton Kaliaev c88257b038
rename rpc function status to echo
echo means we're returning the input, which is exactly what this
function does.
2017-03-10 12:57:14 +04:00
Anton Kaliaev 0874c72819
refactor tests 2017-03-10 12:52:40 +04:00
Anton Kaliaev d66ebbd904
use testify package 2017-03-10 12:03:16 +04:00
Anton Kaliaev 1a3573bf17 Merge pull request #10 from tendermint/feature/4-rename-http-clients
rename ClientURI -> URIClient, ClientJSONRPC -> JSONRPCClient
2017-03-10 10:42:22 +04:00
Anton Kaliaev e6c083f589
rename ClientURI -> URIClient, ClientJSONRPC -> JSONRPCClient (Refs #4) 2017-03-10 10:41:10 +04:00
Anton Kaliaev 759060f47e Merge pull request #9 from tendermint/feature/8-http-interface-and-1-key-value-params-json-rpc
support key-value params in JSONRPC
2017-03-10 10:29:00 +04:00
Ethan Frey 715f78e26a
Properly encode json.RawMessage 2017-03-10 10:20:38 +04:00
Anton Kaliaev db69845ded
introduce errors pkg 2017-03-09 19:01:37 +04:00
Anton Kaliaev ff90224ba8
fix "Expected map but got type string" error
Error from tendermint:

```
panic: Expected map but got type string [recovered]
        panic: Expected map but got type string

goroutine 82 [running]:
testing.tRunner.func1(0xc420464000)
        /usr/local/go/src/testing/testing.go:622 +0x29d
panic(0xa1fda0, 0xc4201eecd0)
        /usr/local/go/src/runtime/panic.go:489 +0x2cf
github.com/tendermint/tendermint/rpc/test.waitForEvent(0xc420464000, 0xc420064000, 0xae6fae, 0x8, 0xae6f01, 0xc2e998, 0xc2e9a0)
        /home/vagrant/go/src/github.com/tendermint/tendermint/rpc/test/helpers.go:179 +0x53a
github.com/tendermint/tendermint/rpc/test.TestWSNewBlock(0xc420464000)
        /home/vagrant/go/src/github.com/tendermint/tendermint/rpc/test/client_test.go:190 +0x12e
testing.tRunner(0xc420464000, 0xc2e9a8)
        /usr/local/go/src/testing/testing.go:657 +0x96
created by testing.(*T).Run
        /usr/local/go/src/testing/testing.go:697 +0x2ca
```
2017-03-09 19:01:32 +04:00
Anton Kaliaev 720b74d89e
read from ErrorsCh also 2017-03-09 17:44:00 +04:00
Anton Kaliaev 05e1a22d5b
encode params before sending in JSONRPC 2017-03-09 13:46:48 +04:00
Anton Kaliaev cf11e6ba65
add CHANGELOG 2017-03-09 12:43:24 +04:00
Anton Kaliaev 1ddb60b6e7
refactor jsonParamsToArgs
Suggested in https://github.com/tendermint/go-rpc/pull/9#discussion_r105098390
2017-03-09 12:23:21 +04:00
Ethan Buchman 5420254b36 changelog: add prehistory 2017-03-09 01:34:11 -05:00
Ethan Buchman 55b3c22d99 publish.sh to push build to s3 2017-03-09 01:34:11 -05:00
Anton Kaliaev fed84f875c
fix jsonParamsToArgsWS index error
Error from tendermint:
```
panic: runtime error: index out of range

goroutine 82 [running]:
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-rpc/server.jsonParamsToArgsWS(0xc4200960e0, 0xc42024d4a0, 0xc420215380, 0x3, 0x0, 0x0, 0xc420215383, 0x9, 0xc42024d4a0, 0xf1ecc0, ...)
        /home/vagrant/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-rpc/server/handlers.go:184 +0x654
github.com/tendermint/tendermint/vendor/github.com/tendermint/go-rpc/server.(*wsConnection).readRoutine(0xc4201fd0e0)
        /home/vagrant/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-rpc/server/handlers.go:496 +0x3a9
created by github.com/tendermint/tendermint/vendor/github.com/tendermint/go-rpc/server.(*wsConnection).OnStart
        /home/vagrant/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-rpc/server/handlers.go:377 +0x45
```
2017-03-08 17:55:08 +04:00
Anton Kaliaev 1842e03315
revert using local import
this breaks the client's code (e.g. tendermint)
2017-03-08 17:33:46 +04:00
Anton Kaliaev d033cd54b8
add editorconfig 2017-03-08 17:17:42 +04:00
Anton Kaliaev 2dc6ab3896
use golang default if an arg is missing (Refs #7) 2017-03-08 17:16:01 +04:00
Anton Kaliaev 6d66cc68ed
make sure we are using correct server
also remove it afterwards
2017-03-08 16:55:15 +04:00
Anton Kaliaev 51d760f29f
use local import for testing 2017-03-08 16:23:38 +04:00