Skip to content

Release/v0.29.0#3185

Merged
ebuchman merged 25 commits intomasterfrom
release/v0.29.0
Jan 22, 2019
Merged

Release/v0.29.0#3185
ebuchman merged 25 commits intomasterfrom
release/v0.29.0

Conversation

@ebuchman
Copy link
Contributor

@ebuchman ebuchman commented Jan 22, 2019

liamsi and others added 24 commits January 13, 2019 17:40
* more proposer priority tests

 - test that we don't reset to zero when updating / adding
 - test that same power validators alternate

* add another test to track / simulate similar behaviour as in #2960

* address some of Chris' review comments

* address some more of Chris' review comments
* Consistent order fields of Timestamp/BlockID fields in CanonicalVote and
CanonicalProposal

* update spec too

* Introduce and use IsZero & IsComplete:
 - update IsZero method according to spec and introduce IsComplete
 - use methods in validate basic to validate: proposals come with a
 "complete" blockId and votes are either complete or empty
 - update spec: BlockID.IsNil() -> BlockID.IsZero() and fix typo

* BlockID comes first

* fix tests
* Begin simple merkle compatibility PR

* Fix query_test

* Use trillian test vectors

* Change the split point per RFC 6962

* update spec

* refactor innerhash to match spec

* Update changelog

* Address @liamsi's comments

* Write the comment requested by @liamsi
cd does not work because it's executed in a subprocess
so it has to be either chained by && or ;
See https://stackoverflow.com/q/1789594/820520
for more details.

Fixes #3058
* add "chain_id" label for all metrics

Refs #3082

* fix labels extraction
Merge master back to develop
* Add comment to simple_merkle get_split_point

* fix grammar error
* Consolidates deadline tests for privval Unix/TCP

Following on from #3115 and #3132, this converts fundamental timeout
errors from the client's `acceptConnection()` method so that these can
be detected by the test for the TCP connection.

Timeout deadlines are now tested for both TCP and Unix domain socket
connections.

There is also no need for the additional secret connection code: the
connection will time out at the `acceptConnection()` phase for TCP
connections, and will time out when attempting to obtain the
`RemoteSigner`'s public key for Unix domain socket connections.

* Removes extraneous logging

* Adds IsConnTimeout helper function

This commit adds a helper function to detect whether an error is either
a fundamental networking timeout error, or an `ErrConnTimeout` error
specific to the `RemoteSigner` class.

* Adds a test for the IsConnTimeout() helper function

* Separates tests logically for IsConnTimeout
Adding the OrderStream network client (alpha), ParadigmCore, to the `ecosystem.json` file.
```
panic: failed to unmarshal json: unexpected end of JSON input

goroutine 1 [running]:
main.main()
	/root/gelgo/src/github.com/tendermint/tendermint/scripts/json2wal/main.go:66 +0x73f
```

Closes #3146
Merge master back to develop
* update btcd fork for v0.1.1

* changelog
* more proposer priority tests

 - test that we don't reset to zero when updating / adding
 - test that same power validators alternate

* add another test to track / simulate similar behaviour as in #2960

* address some of Chris' review comments

* address some more of Chris' review comments

* temporarily pushing branch with the following changes:
The total power might change if:
   - a validator is added
   - a validator is removed
   - a validator is updated

Decrement the accums (of all validators) directly after any of these events
(by the inverse of the change)

* Fix 2960 by re-normalizing / scaling priorities to be in bounds of total
power, additionally:

 - remove heap where it doesn't make sense
 - avg. only at the end of IncrementProposerPriority instead of each
   iteration
 - update (and slightly improve)
   TestAveragingInIncrementProposerPriorityWithVotingPower to reflect
   above changes

* Fix 2960 by re-normalizing / scaling priorities to be in bounds of total
power, additionally:

 - remove heap where it doesn't make sense
 - avg. only at the end of IncrementProposerPriority instead of each
   iteration
 - update (and slightly improve)
   TestAveragingInIncrementProposerPriorityWithVotingPower to reflect
   above changes

* fix tests

* add comment

* update changelog pending & some minor changes

* comment about division will floor the result & fix typo

* Update TestLargeGenesisValidator:
 - remove TODO and increase large genesis validator's voting power
accordingly

* move changelog entry to P2P Protocol

* Ceil instead of flooring when dividing & update test

* quickly fix failing TestProposerPriorityDoesNotGetResetToZero:

 - divide by Ceil((maxPriority - minPriority) / 2*totalVotingPower)

* fix typo: rename getValWitMostPriority -> getValWithMostPriority

* test proposer frequencies

* return absolute value for diff. keep testing

* use for loop for div

* cleanup, more tests

* spellcheck

* get rid of using floats: manually ceil where necessary

* Remove float, simplify, fix tests to match chris's proof (#3157)
* types: dont hash entire ConsensusParams

* update encoding spec

* update blockchain spec

* spec: consensus params hash

* changelog
- fixes #3008
- reactor requires encoded messages are less than maxMsgSize
- requires size of tx + amino-overhead to not exceed maxMsgSize
* base verifier: bc->bv and check chainid

* improve some comments

* comments in dynamic verifier

* fix comment in doc about BaseVerifier

It requires the validator set to perfectly match.

* failing test for #2862

* move errTooMuchChange to types. fixes #2862

* changelog, comments

* ic -> dv

* update comment, link to issue
* spec: specify when MerkleRoot is on hashes

* remove unnecessary hash methods

* update changelog

* fix test
* update changelog and upgrading

* add note about max voting power in abci spec

* update version

* changelog
@codecov-io
Copy link

codecov-io commented Jan 22, 2019

Codecov Report

Merging #3185 into master will decrease coverage by 0.03%.
The diff coverage is 60.92%.

@@            Coverage Diff             @@
##           master    #3185      +/-   ##
==========================================
- Coverage   62.91%   62.87%   -0.04%     
==========================================
  Files         211      212       +1     
  Lines       17439    17431       -8     
==========================================
- Hits        10971    10960      -11     
  Misses       5549     5549              
- Partials      919      922       +3
Impacted Files Coverage Δ
mempool/reactor.go 65.82% <ø> (+1.62%) ⬆️
lite/multiprovider.go 64.1% <ø> (ø) ⬆️
lite/dbprovider.go 77.55% <ø> (ø) ⬆️
lite/commit.go 48.71% <ø> (ø) ⬆️
crypto/merkle/proof_simple_value.go 0% <0%> (ø) ⬆️
consensus/metrics.go 15.17% <0%> (-0.42%) ⬇️
mempool/metrics.go 16.66% <0%> (-1.52%) ⬇️
state/metrics.go 20% <0%> (-5%) ⬇️
crypto/merkle/simple_proof.go 67.92% <100%> (+0.61%) ⬆️
rpc/core/pipe.go 30% <100%> (+2.91%) ⬆️
... and 18 more

@ebuchman ebuchman merged commit 4514842 into master Jan 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants