Skip to content
This repository has been archived by the owner on Apr 17, 2019. It is now read-only.

Hyperledger Iroha v1.0 Release Candidate 5 #2191

Merged
merged 42 commits into from
Mar 21, 2019
Merged

Hyperledger Iroha v1.0 Release Candidate 5 #2191

merged 42 commits into from
Mar 21, 2019

Conversation

lebdron
Copy link
Contributor

@lebdron lebdron commented Mar 21, 2019

HL Iroha team is happy to present the new Release Candidate.
Here are some changes that we implemented in this release:

Pluggable Consensus: hyperledger-iroha/iroha#2125

iroha::consensus::yac::SupermajorityChecker interface now has two implementations: a BFT and a CFT checker. Besides that all the signature-related logic was put away from that interface, and it now operates solely on numbers.
Set to BFT by default.

New logger! hyperledger-iroha/iroha#2126

Read more here: https://iroha.readthedocs.io/en/latest/guides/configuration.html#logging

Markdown to RST docs configuration: hyperledger-iroha/iroha#2146

Now Markdown files from the repository can be referenced in the ReadTheDocs documentation!
We also improved build documentation: hyperledger-iroha/iroha#2162

Updated ed25519 cryptography to 2.0.1: hyperledger-iroha/iroha#2157

YAC storage cleanup: hyperledger-iroha/iroha#1947

Old rounds are now cleaned up and that improves stability
StorageImpl: faster cleanup: hyperledger-iroha/iroha#2174

Added installation security tips to documentation

So you could make sure you use Iroha securely: hyperledger-iroha/iroha#2129

Updated configuration template for docker deployment: hyperledger-iroha/iroha#2158

and added documentation for new parameters: hyperledger-iroha/iroha#2173

Storage now only notifies subscribers of newly committed blocks after they have been actually applied to the ledger: hyperledger-iroha/iroha#2179

Before, notification could be sent prior to actual commit which is not considered as correct behaviour.

Synchroniser subscription update: hyperledger-iroha/iroha#2160

Now if the synchroniser is waiting for the block for too long, it will break the connection. Also, if the block is failed to be checked, further blocks will not be received from that peer.

Debug deb packages support: hyperledger-iroha/iroha#2144

Decrease quantity of allocated proto query objects: hyperledger-iroha/iroha#2148

Another improvement reducing memory consumption

Now Iroha version is available through --version argument and in log pattern: hyperledger-iroha/iroha#2127

Added different Cmake sanitizers: hyperledger-iroha/iroha#2131

Added a fix for direct propagation in YAC. If a peer sends a vote for the old round, Iroha will share last finalized state: https://github.com/hyperledger/iroha/pull/2139

Refactored ordering service queues: hyperledger-iroha/iroha#2150

Got rid of consensus race by changing round queue management: hyperledger-iroha/iroha#2151

Fixed race bug in command service: hyperledger-iroha/iroha#2167

Made YAC accept votes only from peers that it knows: hyperledger-iroha/iroha#2134

Created block storage dependency for mutable storage: hyperledger-iroha/iroha#1994

Added fix for status stream initialization: hyperledger-iroha/iroha#2169

If runtime cache doesn't contain any value we are going to check the persistent cache for the value.

Fixed hash set usage in OS. Fixed block leaks in YacGate and Simulator: hyperledger-iroha/iroha#2170

Made most block manipulation functions of storage take constant blocks by shared pointer: hyperledger-iroha/iroha#2178

Added implementation of BlockStorage interface based on FlatFile: hyperledger-iroha/iroha#2180

baydarich and others added 30 commits February 27, 2019 16:28
* Pluggable consensus consistency model (#2091)
* Fixes to it

Signed-off-by: Mikhail Boldyrev <[email protected]>
RC4 Hotfix 1 - TemporaryWsv deadlock, checkTxPresence performance
Signed-off-by: Mikhail Boldyrev <[email protected]>
Signed-off-by: Mikhail Boldyrev <[email protected]>
Avoid creation of redundant proto query object.

Signed-off-by: Igor Egorov <[email protected]>
* TransactionProcessorImpl uses Storage::on_commit()

Signed-off-by: Mikhail Boldyrev <[email protected]>
* [ci skip] preparing files for md to rst documentation

Signed-off-by: Sara <[email protected]>

* changes to allow md files be included into the rstdocs with an example

Signed-off-by: Sara <[email protected]>

* adding automated deployment docs from .md

Signed-off-by: Sara <[email protected]>
Signed-off-by: Mikhail Boldyrev <[email protected]>
Signed-off-by: Konstantin Munichev <[email protected]>
Documentation for Iroha installation security tips
### Description of the Change
Add fix for direct propagation in Yac. If a peer sends a vote for the old round we will share last finalized state.

### Benefits
Fix of synchronization in some cases.

### Possible Drawbacks 
No so elegant solution: YAC checks stateless invariants inside functions, vote storage responsibility is increased.

Signed-off-by: Fedor Muratov <[email protected]>
* Remove round from OdOsNotifications interface

Signed-off-by: Igor Egorov <[email protected]>
Signed-off-by: Andrei Lebedev <[email protected]>
### Description of the Change
* remove setPcs method from OG
* minor issues with clang-format
* add max transaction size to OG. Not it shares only a limited number of transactions.
* OS queue replaced with an unordered set for checking not-unique transactions

### Benefits
Performance improvements and DDoS prevention

### Possible Drawbacks 
The absence of tests. I think we have to discuss it during the review

Signed-off-by: Fedor Muratov <[email protected]>
Signed-off-by: Konstantin Munichev <[email protected]>
Signed-off-by: Konstantin Munichev <[email protected]>
add error

Signed-off-by: Dumitru <[email protected]>
### Description of the Change
Add fix for status stream initialization. If runtime cache doesn't contain any value we are going to check the persistent cache for the value.

### Benefits
Fix misleading behavior of the status stream.

Signed-off-by: Fedor Muratov <[email protected]>
Signed-off-by: Mikhail Boldyrev <[email protected]>
muratovv and others added 11 commits March 15, 2019 15:43
### Description of the Change
Fix bug when not committed/rejected transaction will not pass to Iroha's pipeline because it is a "replay".

### Benefits
Add fix for the problem. The idea of the fix to check only final statuses in the ram cache in command service. If there is a final status we will decline further checking of the transaction. Also, thanks @lebdron for cooperation in founding the bug.

Signed-off-by: Fedor Muratov <[email protected]>
Signed-off-by: Mikhail Boldyrev <[email protected]>
Signed-off-by: Mikhail Boldyrev <[email protected]>
Signed-off-by: Konstantin Munichev <[email protected]>
### Description of the Change
Remove redundant definition of the insert in flat file block storage.

### Benefits
Improve the stability of the project.

Signed-off-by: Fedor Muratov <[email protected]>
@lebdron lebdron requested review from muratovv and neewy March 21, 2019 10:44
@neewy neewy merged commit ed579f8 into master Mar 21, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants