Skip to main content Link Search Menu Expand Document (external link)

iroha GitHub

PR #2788 [fix] #2787: Notify every listener to shutdown on panic
Bugiroha2 Signed-off-by: Shanin Roman <shanin1000@yandex.ru> ### Description of the Change Replaced `.notify_one()` with `.notify_waiters()` in order to notify every waiter about shutdown. ### Issue Closes #2787. ### Benefits Iroha actually shutdown. ### Possible Drawbacks There is still possibility of deadlock if `.notified().await` would be called after `.notify_waiters()` was called, but this seems to be very unlikely case , because either start warp (in this case waiters would be ready) or warp not started yet (int this case nothing will prevent iroha from shutdown). ### Usage Examples or Tests *[optional]* ``` cargo test --package iroha --lib -- tests::iroha_should_notify_on_panic --exact --nocapture ``` ### Alternate Designs *[optional]* - Replace `Notify` channel with different sync primitive. - Every `waiter` must call `.notify_one()` after receiving notification: more verbose, but solve case of possible deadlock.
Created At 2022-09-26 14:05:56 +0000 UTC
PR #2785 [ci]: move jobs to github runners
iroha2CI ### Description of the Change Replace self-hosted runners inside `tests` workflows with the default `ubuntu-latest` Gihub Runners. ### Issue Some long tests are failed on self-hosted runners due to undetected reason. ### Benefits Long tests should not be failed when they are run on the deault GH Runners. ### Possible Drawbacks Should be none, but we have to re-implement self-hosted runners.
Created At 2022-09-26 07:22:15 +0000 UTC
PR #2783 Bump protobuf from 3.15.0 to 3.18.3 in /docs/source
dependenciespython Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 3.15.0 to 3.18.3.
Release notes

Sourced from protobuf's releases.

Protocol Buffers v3.18.3

C++

Protocol Buffers v3.16.1

Java

  • Improve performance characteristics of UnknownFieldSet parsing (#9371)

Protocol Buffers v3.18.2

Java

  • Improve performance characteristics of UnknownFieldSet parsing (#9371)

Protocol Buffers v3.18.1

Python

  • Update setup.py to reflect that we now require at least Python 3.5 (#8989)
  • Performance fix for DynamicMessage: force GetRaw() to be inlined (#9023)

Ruby

  • Update ruby_generator.cc to allow proto2 imports in proto3 (#9003)

Protocol Buffers v3.18.0

C++

  • Fix warnings raised by clang 11 (#8664)
  • Make StringPiece constructible from std::string_view (#8707)
  • Add missing capability attributes for LLVM 12 (#8714)
  • Stop using std::iterator (deprecated in C++17). (#8741)
  • Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
  • Fix #7047 Safely handle setlocale (#8735)
  • Remove deprecated version of SetTotalBytesLimit() (#8794)
  • Support arena allocation of google::protobuf::AnyMetadata (#8758)
  • Fix undefined symbol error around SharedCtor() (#8827)
  • Fix default value of enum(int) in json_util with proto2 (#8835)
  • Better Smaller ByteSizeLong
  • Introduce event filters for inject_field_listener_events
  • Reduce memory usage of DescriptorPool
  • For lazy fields copy serialized form when allowed.
  • Re-introduce the InlinedStringField class
  • v2 access listener
  • Reduce padding in the proto's ExtensionRegistry map.
  • GetExtension performance optimizations
  • Make tracker a static variable rather than call static functions
  • Support extensions in field access listener
  • Annotate MergeFrom for field access listener
  • Fix incomplete types for field access listener
  • Add map_entry/new_map_entry to SpecificField in MessageDifferencer. They record the map items which are different in MessageDifferencer's reporter.
  • Reduce binary size due to fieldless proto messages
  • TextFormat: ParseInfoTree supports getting field end location in addition to start.

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=protobuf&package-manager=pip&previous-version=3.15.0&new-version=3.18.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hyperledger/iroha/network/alerts).
Created At 2022-09-23 23:13:23 +0000 UTC
PR #2782 [ci] #2778: Client config check
Bugiroha2CI ### Description of the Change * Added kagami sub-command to generate valid client config * Added ci check * New config was tested with `iroha_client_cli` and it works. Current config on `iroha2-dev` is not working ### Issue * Closes #2778 ### Benefits * CI check for corrent client config * Automatic way to generate valid config ### Possible Drawbacks None ### Usage Examples or Tests ```bash scripts/check.sh client ```
Created At 2022-09-23 14:24:14 +0000 UTC
PR #2779 [documentation] #2544: Tutorial doctests, a version without API changes
iroha2 ### Description of the Change Same as [2603](https://github.com/hyperledger/iroha/pull/2603) except the API changes. Adds example that mirrors tutorial examples, so that changes in the API can be propagated by directly taking them from GitHub. ### Issue Addresses https://github.com/hyperledger/iroha/issues/2544 ### Benefits Direct connection to tutorial ### Possible Drawbacks More code to test ### Usage Examples or Tests *[optional]* `cargo run --example tutorial` ### Alternate Designs As a test
Created At 2022-09-22 17:10:46 +0000 UTC
PR #2777 [feature] #2774, #2775: `kagami` genesis improvments
iroha2 ### Description of the Change - Generate key for every `Account`; - Extend synthetic genesis with default domain (`wonderland`) and account (`alice`) to be able to perform query; - Make genesis generation mode subcommand instead of flag. ### Issue Closes #2774, #2775. ### Benefits Improved UX and generation. ### Possible Drawbacks None. ### Usage Examples or Tests *[optional]* Generation of default genesis left unchanged: ```bash cargo run --bin kagami -- genesis ``` Generation of synthetic genesis: ```bash cargo run --bin kagami -- genesis synthetic --domians 100 --accounts-per-domain 10 --assets-per-domain 10 ```
Created At 2022-09-22 08:17:25 +0000 UTC
PR #2772 [feature] #2756: Less verbose json representation
Enhancementiroha2api-changesUI ### Description of the Change See commits If you know something else, which json representation should be improved -- leave a comment ### Issue - Closes #2756 ### Benefits - Much more clean json (genesis.json `-100` lines!) ### Possible Drawbacks - A little bit more code
Created At 2022-09-21 13:44:49 +0000 UTC
PR #2771 [feature] #2765: Generate synthetic genesis in `kagami`
iroha2 Signed-off-by: Shanin Roman <shanin1000@yandex.ru> ### Description of the Change Add option to `kagami` to generate synthetic genesis with specified number of domains, accounts, assets. ### Issue Closes #2765. ### Benefits Possible to generate large genesis for load testing and blockchain explorer. ### Possible Drawbacks None. ### Usage Examples or Tests *[optional]* ```bash cargo run --bin kagami genesis --synthetic --domains 1 --accounts-per-domain 1 --assets-per-domain 1 ``` ### Alternate Designs *[optional]* Could be separate script.
Created At 2022-09-21 12:51:22 +0000 UTC
PR #2770 [feature] #2712: Config proptests
iroha2config-changes ### Description of the Change * Added property testing to the Iroha and Iroha client `ConfigurationProxy` structs * Expanded default `config.json` to allow them to be built from proxies immediately upon reading * Updates some docs, error messages, trait derives ### Issue Closes #2712. ### Benefits More confidence in current proxy implementation's robustness. ### Possible Drawbacks I've struggled a bit with a generation strategy that would be compact yet showing the intended invariant, so I hope nothing's missing. ### Usage Examples or Tests `cargo test --package iroha_config --lib -- iroha::tests client::tests --nocapture` ### Alternate Designs *[optional]*
Created At 2022-09-21 12:31:18 +0000 UTC
PR #2769 [fix] #2764: Remove limit on max message size
iroha2 Signed-off-by: Shanin Roman <shanin1000@yandex.ru> ### Description of the Change Remove restriction on max message size (remove `MAX_MESSAGE_LEN` constant and checks associated with it). ### Issue Closes #2764. ### Benefits Not it's possible to send large genesis block through network. ### Possible Drawbacks Malicious peer could try to ddos other peers.
Created At 2022-09-21 10:12:35 +0000 UTC
PR #2766 [fix]: #2571: Better Kura Inspector UX.
iroha2 Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com> ### Description of the Change All of Victor's suggestions have been implemented.
Created At 2022-09-20 21:35:02 +0000 UTC
PR #2763 [feature] #2698: Fix unclear error message in `iroha_client`
Enhancementiroha2UI ### Description of the Change * Reprhased two error messages ### Issue * Closes #2689 ### Benefits * More helpful error message for the end users ### Possible Drawbacks None
Created At 2022-09-20 12:35:13 +0000 UTC
PR #2762 [feat] #2713: New sumeragi into `iroha2-dev`
iroha2api-changesconfig-changes ### Description of the Change - [x] Updated the new consensus. - [x] Fixed lints - [ ] Ran tests - [ ] Test flakyness documented - [ ] Re-reviewed changes to `iroha2-dev` ### Issue Closes #2713 ### Benefits ### Possible Drawbacks Readability and maintainability.
Created At 2022-09-20 08:00:31 +0000 UTC