- Oct 16, 2024
-
-
Miles Patterson authored
[Issue #4762 ](https://github.com/paritytech/polkadot-sdk/issues/4762) - Creates an enum for passing context of `service_queues` being called from within `on_initialize` and `on_idle` hooks. Uses a match statement inside of `service_queues` to continue using the same code, but NOT throw a `defensive` if being called within `on_idle` hook. - The issue requested to not throw the `defensive` if being called from within `on_idle` hook. - Created the `ServiceQueuesContext` enum to pass as an argument of `service_queues` when called within the `on_initialize` and `on_idle` hooks. A match statement was added inside of `service_queues` to continue to throw the defensive if called from `on_initialize` but NOT throw the defensive if called from `on_idle`. --------- Co-authored-by:
gotnoshoeson <milesbrentpatterson@proton.me> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Bastian Köcher <info@kchr.de>
-
Alexander Samusev authored
PR adds timeouts to some jobs, fixes `node-bench-regression-guard` so it works on master. cc https://github.com/paritytech/ci_cd/issues/1063
-
Cyrill Leutwiler authored
Failed call frames do not produce new return data but still reset it. --------- Signed-off-by:
xermicus <cyrill@parity.io> Co-authored-by:
GitHub Action <action@github.com>
-
dependabot[bot] authored
Bumps [platforms](https://github.com/rustsec/rustsec) from 3.0.2 to 3.4.1. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/rustsec/rustsec/commits">compare view</a></li> </ul> </details> <br /> [](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) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this...
-
Alexandre R. Baldé authored
# Description This PR migrates the staking pallet's benchmarks to the `v2` of pallet benchmarking tooling provided by [`frame_benchmarking`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/benchmarking). ## Integration N/A ## Review Notes The PR is straightforward, as were #1676 , #1838 and #1868. --------- Co-authored-by:
Dónal Murray <donal.murray@parity.io> Co-authored-by:
Shawn Tabrizi <shawntabrizi@gmail.com>
-
Alexandru Vasile authored
This feature is part of the upcoming metadata V16. The associated types of the `Config` trait that require the `TypeInfo` or `Parameter` bounds are included in the metadata of the pallet. The metadata is not yet exposed to the end-user, however the metadata intermediate representation (IR) contains these types. Developers can opt out of metadata collection of the associated types by specifying `without_metadata` optional attribute to the `#[pallet::config]`. Furthermore, the `without_metadata` argument can be used in combination with the newly added `#[pallet::include_metadata]` attribute to selectively include only certain associated types in the metadata collection. ### API Design - There is nothing to collect from the associated types: ```rust #[pallet::config] pub trait Config: frame_system::Config { // Runtime events already propagated to the metadata. type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>; // Constants are already propagated. #[pallet::constant] type MyGetParam2: Get<u32>; } ``` - Default automatic collection of associated types that require TypeInfo or Parameter bounds: ```rust #[pallet::config] pub trait Config: frame_system::Config { // Runtime events already propagated to the metadata. type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>; // Constants are already propagated. #[pallet::constant] type MyGetParam2: Get<u32>; // Associated type included by default, because it requires TypeInfo bound. /// Nonce doc. type Nonce: TypeInfo; // Associated type included by default, because it requires // Parameter bound (indirect TypeInfo). type AccountData: Parameter; // Associated type without metadata bounds, not included. type NotIncluded: From<u8>; } ``` - Disable automatic collection ```rust // Associated types are not collected by default. #[pallet::config(without_metadata)] pub trait Config: frame_system::Config { // Runtime events already propagated to the metadata. type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>; // Constants are already propagated. #[pallet::constant] type MyGetParam2: Get<u32>; // Explicitly include associated types. #[pallet::include_metadata] type Nonce: TypeInfo; type AccountData: Parameter; type NotIncluded: From<u8>; } ``` Builds on top of the PoC: https://github.com/paritytech/polkadot-sdk/pull/4358 Closes: https://github.com/paritytech/polkadot-sdk/issues/4519 cc @paritytech/subxt-team --------- Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Guillaume Thiolliere <gui.thiolliere@gmail.com> Co-authored-by:
Shawn Tabrizi <shawntabrizi@gmail.com>
-
Sebastian Kunert authored
We should start the `recovery-target` node first, then the `collator-elastic` node. Also increases the resources available to these pods.
-
Alexandru Vasile authored
This PR ensures that the `litep2p.public_addresses()` never grows indefinitely. - effectively fixes subtle memory leaks - fixes authority DHT records being dropped due to size limits being exceeded - provides a healthier subset of public addresses to the `/identify` protocol This PR adds a new `ExternalAddressExpired` event to the litep2p/discovery process. Substrate uses an LRU `address_confirmations` bounded to 32 address entries. The oldest entry is propagated via the `ExternalAddressExpired` event when a new address is added to the list (if capacity is exceeded). The expired address is then removed from the `litep2p.public_addresses()`, effectively limiting its size to 32 entries (the size of `address_confirmations` LRU). cc @paritytech/networking @alexggh --------- Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Dmitry Markin <dmitry@markin.tech>
-
Michał Gil authored
# Description Part of https://github.com/paritytech/polkadot-sdk/issues/3326 Removes pallet::getter from pallet-offences from type `Reports`. Adds a test to verify that retrieval of `Reports` still works with storage::getter. polkadot address: 155YyFVoMnv9BY6qxy2i5wxtveUw7WE1n5H81fL8PZKTA1Sd --------- Co-authored-by:
Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by:
Dónal Murray <donal.murray@parity.io>
-
- Oct 15, 2024
-
-
Radek Bochenek authored
# Description Sets the correct `RuntimeFreezeReason` type for `solochain-template-runtime` configuration of pallet_balances. ## Review Notes For whatever reason `RuntimeFreezeReason` is currently set to `RuntimeHoldReason`. This in turn causes problems with variant counting in `MaxFreezes` and results in pallet_balances integrity tests failing whenever hold/freeze reasons are added to the runtime. This fixes it by simply setting `RuntimeFreezeReason` to `RuntimeFreezeReason` in pallet_balances Config. Co-authored-by:
Bastian Köcher <git@kchr.de>
-
dependabot[bot] authored
Bumps [tokio-test](https://github.com/tokio-rs/tokio) from 0.4.3 to 0.4.4. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tokio-rs/tokio/commit/3d0d0fd2af9192ca5cf2836451e96dffab68216a"><code>3d0d0fd</code></a> chore: prepare tokio-test v0.4.4 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6400">#6400</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/7cfb1007969e3fcb28b03854f3126caeca93932e"><code>7cfb100</code></a> chore: prepare tokio-stream v0.1.15 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6401">#6401</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/e37bd6385430620f850a644d58945ace541afb6e"><code>e37bd63</code></a> io: implement <code>try_new</code> and <code>try_with_interest</code> for <code>AsyncFd</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6345">#6345</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/c9e75785c84a441199992ed38e49aeba...
-
Alexander Samusev authored
PR moves jobs `build-rustdoc`, `test-doc` and `publish-rustdoc` to GHA. `publish-rustdoc` was changed so it can publish changes using token from GH APP. PR removes `test-rustdoc` because the same command in executed in `build-rustdoc` and I see no reason to run it twice. cc https://github.com/paritytech/ci_cd/issues/1006
-
Michal Kucharczyk authored
### Fork-Aware Transaction Pool Implementation This PR introduces a fork-aware transaction pool (fatxpool) enhancing transaction management by maintaining the valid state of txpool for different forks. ### High-level overview The high level overview was added to [`sc_transaction_pool::fork_aware_txpool`](https://github.com/paritytech/polkadot-sdk/blob/3ad0a1b7/substrate/client/transaction-pool/src/fork_aware_txpool/mod.rs#L21) module. Use: ``` cargo doc --document-private-items -p sc-transaction-pool --open ``` to build the doc. It should give a good overview and nice entry point into the new pool's mechanics. <details> <summary>Quick overview (documentation excerpt)</summary> #### View For every fork, a view is created. The view is a persisted state of the transaction pool computed and updated at the tip of the fork. The view is built around the existing `ValidatedPool` structure. A view is created on every new best block notification. To create a view, one of the existing views is chosen and cloned. When the chain progresses, the view is kept in the cache (`retracted_views`) to allow building blocks upon intermediary blocks in the fork. The views are deleted on finalization: views lower than the finalized block are removed. The views are updated with the transactions from the mempool—all transactions are sent to the newly created views. A maintain process is also executed for the newly created views—basically resubmitting and pruning transactions from the appropriate tree route. ##### View store View store is the helper structure that acts as a container for all the views. It provides some convenient methods. ##### Submitting transactions Every transaction is submitted to every view at the tips of the forks. Retracted views are not updated. Every transaction also goes into the mempool. ##### Internal mempool Shortly, the main purpose of an internal mempool is to prevent a transaction from being lost. That could happen when a transaction is invalid on one fork and could be valid on another. It also allows the txpool to accept transactions when no blocks have been reported yet. The mempool removes its transactions when they get finalized. Transactions are also periodically verified on every finalized event and removed from the mempool if no longer valid. #### Events Transaction events from multiple views are merged and filtered to avoid duplicated events. `Ready` / `Future` / `Inblock` events are originated in the Views and are de-duplicated and forwarded to external listeners. `Finalized` events are originated in fork-aware-txpool logic. `Invalid` events requires special care and can be originated in both view and fork-aware-txpool logic. #### Light maintain Sometime transaction pool does not have enough time to prepare fully maintained view with all retracted transactions being revalidated. To avoid providing empty ready transaction set to block builder (what would result in empty block) the light maintain was implemented. It simply removes the imported transactions from ready iterator. #### Revalidation Revalidation is performed for every view. The revalidation process is started after a trigger is executed. The revalidation work is terminated just after a new best block / finalized event is notified to the transaction pool. The revalidation result is applied to the newly created view which is built upon the revalidated view. Additionally, parts of the mempool are also revalidated to make sure that no transactions are stuck in the mempool. #### Logs The most important log allowing to understand the state of the txpool is: ``` maintain: txs:(0, 92) views:[2;[(327, 76, 0), (326, 68, 0)]] event:Finalized { hash: 0x8...f, tree_route: [] } took:3.463522ms ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ unwatched txs in mempool ────┘ │ │ │ │ │ │ │ │ │ │ watched txs in mempool ───────┘ │ │ │ │ │ │ │ │ │ views ───────────────┘ │ │ │ │ │ │ │ │ 1st view block # ──────────┘ │ │ │ │ │ │ │ number of ready tx ───────┘ │ │ │ │ │ │ numer of future tx ─────┘ │ │ │ │ │ 2nd view block # ──────┘ │ │ │ │ number of ready tx ──────────┘ │ │ │ number of future tx ───────┘ │ │ event ────────┘ │ duration ──────────────────────────────────────────────────┘ ``` It is logged after the maintenance is done. The `debug` level enables per-transaction logging, allowing to keep track of all transaction-related actions that happened in txpool. </details> ### Integration notes For teams having a custom node, the new txpool needs to be instantiated, typically in `service.rs` file, here is an example: https://github.com/paritytech/polkadot-sdk/blob/9c547ff3 /cumulus/polkadot-omni-node/lib/src/common/spec.rs#L152-L161 To enable new transaction pool the following cli arg shall be specified: `--pool-type=fork-aware`. If it works, there shall be information printed in the log: ``` 2024-09-20 21:28:17.528 INFO main txpool: [Parachain] creating ForkAware txpool. ```` For debugging the following debugs shall be enabled: ``` "-lbasic-authorship=debug", "-ltxpool=debug", ``` *note:* trace for txpool enables per-transaction logging. ### Future work The current implementation seems to be stable, however further improvements are required. Here is the umbrella issue for future work: - https://github.com/paritytech/polkadot-sdk/issues/5472 Partially fixes: #1202 --------- Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Sebastian Kunert <skunert49@gmail.com> Co-authored-by:
Iulian Barbu <14218860+iulianbarbu@users.noreply.github.com>
-
Javier Viola authored
Includes: - Fixes for `ci` - Support to pass a json as arg for `js-script` Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Francisco Aguirre authored
`XcmPaymentApi::query_acceptable_payment_assets` is an API that returns the assets that can be used to pay fees on the runtime where it's called. For relays and most system chains this was configured only as the native asset: ROC and WND. However, the asset hubs have the asset conversion pallet, which allows fees to be paid in any asset in a pool with the native one. This PR adds the list of assets in a pool with the native one to the return value of this API for the asset hubs. --------- Co-authored-by:
Branislav Kontur <bkontur@gmail.com>
-
Ayevbeosa Iyamu authored
Added error logs in pallet-xcm to help in debugging, fixes #2408 ## TODO - [x] change `log::error` to `tracing::error` format for `xcm-executor` - [x] check existing logs, e.g. this one can be extended with more info `tracing::error!(target: "xcm::reanchor", ?error, "Failed reanchoring with error");` - [x] use `tracing` instead of `log` for `pallet-xcm/src/lib.rs` --------- Co-authored-by:
Ayevbeosa Iyamu <aiyamu@vatebra.com> Co-authored-by:
Adrian Catangiu <adrian@parity.io> Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com> Co-authored-by:
Branislav Kontur <bkontur@gmail.com> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Bastian Köcher authored
This is done by zepter any way
-
Branislav Kontur authored
This PR removes the `check-migrations` pipelines for all Rococo chains because they are going down: https://github.com/paritytech/devops/issues/3589, and these checks are starting to fail, e.g.: https://github.com/paritytech/polkadot-sdk/actions/runs/11339904745/job/31535485254?pr=4982 https://github.com/paritytech/polkadot-sdk/actions/runs/11339904745/job/31535486189?pr=4982 https://github.com/paritytech/polkadot-sdk/actions/runs/11339904745/job/31535486471?pr=4982 Additionally, `coretime-westend` was added to the `check-migrations` matrix.
-
- Oct 14, 2024
-
-
Julian Eager authored
fixes #5981 Could confirm the issue with the added tests: ``` test tests/split_ui/pass/split_call.rs [should pass] ... error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ error[E0423]: expected value, found attribute macro `origin` --> tests/split_ui/pass/split_call.rs:23:1 | 23 | #[frame_support::pallet(dev_mode)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a value | = note: this error originates in the attribute macro `frame_support::pallet` (in Nightly builds, run with -Z macro-backtrace for more info) ``` # Description `origin` unexpectedly resolved to a macro, which is available at the span of invocation. The solution here is to use the expansion as a function instead of a call and pass in the desired values to avoid ambiguities.
-
Oliver Tale-Yazdi authored
Testing the approach of this before it goes live on Polkadot https://github.com/polkadot-fellows/runtimes/pull/471 --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Dónal Murray <donal.murray@parity.io>
-
Serban Iorga authored
Use the umbrella crate for the parachain template This covers almost all the dependencies. There are just a few exceptions for which I created a separate issue: https://github.com/paritytech/polkadot-sdk/issues/5993 Also related to: https://github.com/paritytech/polkadot-sdk/issues/4782
-
Maksym H authored
30 hrs -> 72 hours as it has stopped by timeout here https://github.com/paritytech/polkadot-sdk/actions/runs/11299872333/job/31431758932
-
- Oct 12, 2024
-
-
Julian Eager authored
fixes #5320 @sam0x17 @gupnik # Description The issue could be confirmed with the added example. The cause is for macro hygiene, `entries` in the `#( #entries_builder )*` expansion won't be able to reference the `entries` defined outside. The solution here is to allow the reference to be passed into the expansion with closure. Or we could just switch to the unhygienic span with `quote::quote!` instead such that `entries` will resolve to the "outer" definition.
-
- Oct 11, 2024
-
-
Maksym H authored
### Improved devx of running many pallets simultaneously Changes to /cmd: - Replace (flip) `--continue-on-fail` with `--fail-fast`, but only for `bench`. This makes all pallets/runtimes run non-stop by default, as it was primary use-case during tests - The list of successful/failed pallets was hard to find within tons of logs, so decided to write only needed logs in a file, and output as a summary in the workflow and in the comment - Side fix: updated `tasks_example` to `pallet_example_tasks` to make compliant with standard naming <img width="1006" alt="image" src="https://github.com/user-attachments/assets/14896041-7018-4a0d-92b7-4508e81913c2"> + added command results to workflow summary: <img width="1275" alt="image" src="https://github.com/user-attachments/assets/b4a8afdb-dc9f-4ff9-9720-28a88956035f"> --------- Co-authored-by:
GitHub Action <action@github.com>
-
Michal Kucharczyk authored
Some of the features enabled for `polkadot-sdk` umbrella crate were not necessary for substrate node (e.g. all `cumulus-*` or `polkadot-*` features) resulting in much longer compilation time. This PR fixes that.
-
Andrei Eres authored
# Description When we send `QueueEvent::StartWork`, we have already completed the execution. This may be a leftover of a previous logic change. Currently, the name is misleading, so it would be better to rename it to `FinishWork`. https://github.com/paritytech/polkadot-sdk/blob/c52675ef/polkadot/node/core/pvf/src/execute/queue.rs#L632-L646 https://github.com/paritytech/polkadot-sdk/blob/c52675ef /polkadot/node/core/pvf/src/execute/queue.rs#L361-L363 Fixes https://github.com/paritytech/polkadot-sdk/issues/5910 ## Integration Shouldn't affect downstream projects. --------- Co-authored-by:
GitHub Action <action@github.com>
-
Alexander Samusev authored
The `quick-benchmarks-omni` job was moved to GHA (can be found [here](https://github.com/paritytech/polkadot-sdk/blob/439b31ef/.github/workflows/check-frame-omni-bencher.yml#L22)) but hasn't been removed from GitLab . PR fixes it and makes the check required.
-
- Oct 10, 2024
-
-
Maksym H authored
1800 min
-
Serban Iorga authored
Resolves https://github.com/paritytech/polkadot-sdk/issues/5972 Only needed to increase some timeouts
-
Francisco Aguirre authored
# Description This PR addresses https://github.com/paritytech/polkadot-sdk/issues/5878. After dry running an xcm on asset hub, we had redundant xcms showing up in the `forwarded_xcms` field of the dry run effects returned. These were caused by two things: - The `UpwardMessageSender` router always added an element even if there were no messages. - The two routers on asset hub westend related to bridging (to rococo and sepolia) getting the message from their queues when their queues is actually the same xcmp queue that was already contemplated. In order to fix this, we check for no messages in UMP and clear the implementation of `InspectMessageQueues` for these bridging routers. Keep in mind that the bridged message is still sent, as normal via the xcmp-queue to Bridge Hub. To keep on dry-running the journey of the message, the next hop to dry-run is Bridge Hub. That'll be tackled in a different PR. Added a test in `bridge-hub-westend-integration-tests` and `bridge-hub-rococo-integration-tests` that show that dry-running a transfer across the bridge from asset hub results in one and only one message sent to bridge hub. ## TODO - [x] Functionality - [x] Test --------- Co-authored-by: command-bot <>
-
RadiumBlock authored
✄ ----------------------------------------------------------------------------- Thank you for your Pull Request!
Please make sure it follows the contribution guidelines outlined in [this document](https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md) and fill out the sections below. Once you're ready to submit your PR for review, please delete this section and leave only the text under the "Description" heading. # Description Please consider adding RadiumBlock bootnodes to Coretime Polkadot Chain spec ## Integration *In depth notes about how this PR should be integrated by downstream projects. This part is mandatory, and should be reviewed by reviewers, if the PR does NOT have the `R0-Silent` label. In case of a `R0-Silent`, it can be ignored.* ## Review Notes *In depth notes about the **implementation** details of your PR. This should be the main guide for reviewers to understand your approach and effectively review it. If too long, use [`<details>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)*. *Imagine that someone who is depending on the old code wants to integrate your new code and the only information that they get is this section. It helps to include example usage and default value here, with a `diff` code-block to show possibly integration.* *Include your leftover TODOs, if any, here.* # Checklist * [x] My PR includes a detailed description as outlined in the "Description" and its two subsections above. * [ ] My PR follows the [labeling requirements]( https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process ) of this project (at minimum one label for `T` required) * External contributors: ask maintainers to put the right label on your PR. * [ ] I have made corresponding changes to the documentation (if applicable) * [ ] I have added tests that prove my fix is effective or that my feature works (if applicable) You can remove the "Checklist" section once all have been checked. Thank you for your contribution! ✄ ----------------------------------------------------------------------------- Co-authored-by:Veena <veena.john@radiumblock.com> Co-authored-by:
Dónal Murray <donal.murray@parity.io>
-
- Oct 09, 2024
-
-
dependabot[bot] authored
Bumps [strum](https://github.com/Peternator7/strum) from 0.26.2 to 0.26.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Peternator7/strum/releases">strum's releases</a>.</em></p> <blockquote> <h2>v0.26.3</h2> <h2>What's Changed</h2> <ul> <li>Fix typos & misspellings in docs by <a href="https://github.com/5-pebbles"><code>@5-pebbles</code></a> in <a href="https://redirect.github.com/Peternator7/strum/pull/347">Peternator7/strum#347</a></li> <li>Update <code>heck</code> requirement by <a href="https://github.com/smoelius"><code>@smoelius</code></a> in <a href="https://redirect.github.com/Peternator7/strum/pull/346">Peternator7/strum#346</a></li> <li>Fix broken links by <a href="https://github.com/rainbowatcher"><code>@rainbowatcher</code></a> in <a href="https://redirect.github.com/Peternator7/strum/pull/350">Peternator7/strum#350</a></li> <li>Interpolate unnamed enum variant fields in to_string attribute by ...
-
Andrei Eres authored
Resolves https://github.com/paritytech/polkadot-sdk/issues/4632 The new logic optimizes the distribution of execution jobs for disputes, approvals, and backings. Testing shows improved finality lag and candidate checking times, especially under heavy network load. ### Approach This update adds prioritization to the PVF execution queue. The logic partially implements the suggestions from https://github.com/paritytech/polkadot-sdk/issues/4632#issuecomment-2209188695. We use thresholds to determine how much a current priority can "steal" from lower ones: - Disputes: 70% - Approvals: 80% - Backing System Parachains: 100% - Backing: 100% A threshold indicates the portion of the current priority that can be allocated from lower priorities. For example: - Disputes take 70%, leaving 30% for approvals and all backings. - 80% of the remaining goes to approvals, which is 30% * 80% = 24% of the original 100%. - If we used parts of the original 100%, approvals couldn't take more than 24%, even if there are no disputes. Assuming a maximum of 12 executions per block, with a 6-second window, 2 CPU cores, and a 2-second run time, we get these distributions: - With disputes: 8 disputes, 3 approvals, 1 backing - Without disputes: 9 approvals, 3 backings It's worth noting that when there are no disputes, if there's only one backing job, we continue processing approvals regardless of their fulfillment status. ### Versi Testing 40/20 Testing showed a slight difference in finality lag and candidate checking time between this pull request and its base on the master branch. The more loaded the network, the greater the observed difference. Testing Parameters: - 40 validators (4 malicious) - 20 gluttons with 2 seconds of PVF execution time - 6 VRF modulo samples - 12 required approvals   ### Versi Testing 80/40 For this test, we compared the master branch with the branch from https://github.com/paritytech/polkadot-sdk/pull/5616. The second branch is based on the current one but removes backing jobs that have exceeded their time limits. We excluded malicious nodes to reduce noise from disputing and banning validators. The results show that, under the same load, nodes experience less finality lag and reduced recovery and check time. Even parachains are functioning with a shorter block time, although it remains over 6 seconds. Testing Parameters: - 80 validators (0 malicious) - 40 gluttons with 2 seconds of PVF execution time - 6 VRF modulo samples - 30 required approvals  --------- Co-authored-by:
Andrei Sandu <54316454+sandreim@users.noreply.github.com>
-
Vincent Geddes authored
Here are MD docs for V2 @acatangiu @franciscoaguirre . Let me know what you think. --------- Co-authored-by:
Adrian Catangiu <adrian@parity.io> Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com> Co-authored-by:
Alistair Singh <alistair.singh7@gmail.com>
-
ordian authored
https://github.com/paritytech/polkadot-sdk/pull/5886#discussion_r1793423401 --------- Co-authored-by:
Bastian Köcher <info@kchr.de> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Alexander Samusev authored
PR moves `test-linux-stable-no-try-runtime` from gitlab to github. I disabled two tests because our current runners don't have necessary syscalls enabled. Will continue working on it in https://github.com/paritytech/ci_cd/issues/1056 Also PR remove `gh cli` installation since it's installed in the `ci-unified` image. close https://github.com/paritytech/ci_cd/issues/1023
-
Andrei Eres authored
# Description We previously set the PoV request timeout to 1.2s based on synchronous backing, which allowed for 5 PoVs per relay block. With asynchronous backing, we no longer have a time budget and can increase the value to 2s. Fixes https://github.com/paritytech/polkadot-sdk/issues/5885 ## Integration This PR shouldn't affect downstream projects. ## Review Notes This PR can be followed by experiments with Gluttons on Kusama to confirm that the timeout is sufficient.
-
Egor_P authored
[Release/CI] Github flow to build `polkadot`/`polkadot-parachain` rc binaries and deb package (#5963) This PR introduces a GitHub flow, that should replace a semi manual part of the release process to build rc binaries for `polkadot` and `polkadot-parachain` + the `polkadot` deb package. Right now, this part of the release is done on the `cleanroom` machine by the release engineers via triggering bash scripts directly on the server. These GitHub flows should replace it and move everything to the CI. The whole flow is meant to be run in the new [paritytech-release](https://github.com/paritytech-release) where the automated release is going to be moved. The flow includes the following steps: - Build `polkadot`, `polakdot-prepare-worker`, `polkadot-execute-worker` and `polkadopt-parachain` binaries - Sign those artefacts using `gpg` and generate a sha256 checksum - Build deb package for `polakdot` - Make a GitHub attestation - Upload artefacts to the S3 buckets Closes: https://github.com/paritytech/release-engineering/issues/223 --------- Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
Alexander Samusev authored
PR removes short-benchmarks from GitLab, adds condition for cargo-check-rutimes
-
Javier Viola authored
Disable flaky tests reported in: #5972 #5973 #5974
-