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

ITF: updated fake peer trunk #2176

Merged

Conversation

MBoldyrev
Copy link
Contributor

Description of the Change

The fake peer trunk was idle for some time, during which the base branch was significantly changed. This change incorporates the changes from base branch into the fake peer trunk.

Benefits

Actualized the trunk.

Possible Drawbacks

Igor Egorov and others added 30 commits February 8, 2019 14:06
Fix a mem leak, that could not lead to a linear increase of memory consumption.

Usage Examples or Tests
valgrind irohad

you have to use gcc + valgrind on Ubuntu-like linux (not bsd), other configurations are poorly supported by valgrind

Signed-off-by: Igor Egorov <[email protected]>
Fix the rest of memory leaks in irohad.

valgrind irohad (under Ubuntu-like environment with GNU compiler)

Signed-off-by: Igor Egorov <[email protected]>
Hyperledger Iroha v1.0 Release Candidate 3
Signed-off-by: Mikhail Boldyrev <[email protected]>
* reworked OnDemandOrderingServiceImpl::emitProposal
* odos proposal avoid copy

Signed-off-by: Mikhail Boldyrev <[email protected]>
* DOPS-292 Add -DUSE_BTF=ON cmake configuration parameter on CI

Signed-off-by: Bulat Saifullin <[email protected]>

* add print variable

Signed-off-by: Bulat Saifullin <[email protected]>

* rm dev

Signed-off-by: Bulat Saifullin <[email protected]>
* Add performance test based on locust.io

* Move to iroha from pip. Add env configuration tool

Signed-off-by: Andrei Lebedev <[email protected]>
* Fix nested object copy in shared_model proto backend

* Add fix for BatchMeta

* Fix TransactionResponse

Signed-off-by: Andrei Lebedev <[email protected]>
Make StatefulFailed and MstExpired statuses non-final

Signed-off-by: Igor Egorov <[email protected]>
- change how Docker network is created. Split down a step into two: depending on whether `overlay_network` variable is set to `true` or `false`. Also add network removal step as it might have interfered with different `overlay_network` modes.
- fix docker-compose.yml template not using network name variable but hardcoded value instead

Signed-off-by: Artyom Bakhtin <[email protected]>
* todo's about current acceptance tests

Signed-off-by: Mikhail Boldyrev <[email protected]>

* fixed todos

Signed-off-by: Mikhail Boldyrev <[email protected]>

* Improve TODOs for AddAssetQuantity acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for AddSignatory acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for CreateAccount acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for CreateAsset acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for CreateDomain acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for CreateRole acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for GetAccountAssetTx acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for GetAccountAssets acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for GetAccount acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for GetAssetInfo acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for GetRolePermissions acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for GetRoles acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for GetTransactions acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for GrantPermission acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for InvalidFields acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for QueriesAcceptanceTest

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for QueryPermission acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for Query acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for RemoveSignatory acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for RevokePermission acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for SetAccountDetail acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for SetAccountQuorum acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for SubtractAssetQuantity acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for TransferAsset acceptance test

Signed-off-by: Konstantin Munichev <[email protected]>

* Improve TODOs for TxAcceptanceTest

Signed-off-by: Konstantin Munichev <[email protected]>
* Fix version of pyzmq

Signed-off-by: Nikolay Yushkevich <[email protected]>

* Update Dockerfail after review

Signed-off-by: Nikolay Yushkevich <[email protected]>
Signed-off-by: Konstantin Munichev <[email protected]>
* Update README.md

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

* fixing previous commit

Signed-off-by: Sara <[email protected]>
* fix busy waiting using callback and peek

* Add custom combine_latest to fix segfault under load

* Test for new RX operator combine_latest_until_first_completed (#2122)

Signed-off-by: Mikhail Boldyrev <[email protected]>
* Introduce changes after the review:

 - docs
 - annotations

* Update python version in docs

Signed-off-by: Nikolay Yushkevich <[email protected]>
lebdron and others added 18 commits March 12, 2019 11:44
* 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]>
### 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]>
@MBoldyrev MBoldyrev added the needs-review pr awaits review from maintainers label Mar 18, 2019
@MBoldyrev MBoldyrev self-assigned this Mar 18, 2019
@lebdron
Copy link
Contributor

lebdron commented Mar 18, 2019

git show ead86af can be used to review the merge commit, since github shows changes in develop, which are not related to fake peers.

Signed-off-by: Mikhail Boldyrev <[email protected]>
@MBoldyrev MBoldyrev requested a review from igor-egorov March 18, 2019 10:02
Copy link
Contributor

@igor-egorov igor-egorov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. HTW) Please fix tests. Please add at least one more reviewer.

* @param transaction_batch_factory - transaction_batch_factory
* @param gree_all_proposals - whether this peer should agree all
* proposals
* @param transaction_batch_factory - transaction batch factory
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be just disable copy constructor and assignment operator for FakePeer class instead of inheriting from public boost::noncopyable?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems a matter of taste. I like the inheritance better.

@@ -129,7 +132,7 @@ namespace integration_framework {
getProposalRequestsObservable();

/// Get the observable of ODOS batches received by this peer.
rxcpp::observable<std::shared_ptr<BatchesForRound>>
rxcpp::observable<std::shared_ptr<BatchesCollection>>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is ODOS?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is On Demand Ordering Service

* fix the fake peer ordering test
* reworked ordering test without sync
* reworked synchronization test without sync
* reworked mst test without sync
* absolve behaviour on FakePeer destruction
* fixed fake peer lifetime in behaviour subscriptions
* use the new ProposalStorage iface to add tx
* reduce timeouts
* reduce MST delay
* state alive check in behaviour subscriptions
* removed explicit memory order
* Locker class in Behaviour
* fixated proposal storage in fake peer
* synchronized subjects on_next()

Signed-off-by: Mikhail Boldyrev <[email protected]>
@MBoldyrev MBoldyrev merged commit 806af3a into trunk/itf-fake-peer Apr 4, 2019
@MBoldyrev MBoldyrev deleted the feature/itf-fake-peer-merge-develop-2019-03-18 branch April 4, 2019 16:16
@MBoldyrev MBoldyrev restored the feature/itf-fake-peer-merge-develop-2019-03-18 branch April 4, 2019 16:25
MBoldyrev added a commit that referenced this pull request Apr 4, 2019
Signed-off-by: Mikhail Boldyrev <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs-review pr awaits review from maintainers
Projects
None yet
Development

Successfully merging this pull request may close these issues.