Proposal to elect new release rc--2024-09-26_01-31

I have reviewed all commits listed in this proposal and in my opinion they all look fine, I have also run the build verification script which completed successfully, so I have voted to adopt the proposal.

Full review:

Features:

dbce2fa6d Consensus,Interface(consensus): Increase block maker delay when there have been too many non-rank-0 blocks notarized (#1531)
Review: Looks fine + matches description
Notes: If too many non-zero rank blocks have been notarized recently, then a delay is applied for non-zero rank blocks to ensure more zero rank blocks get finalized.

a8464ac47 Execution,Interface: Execute subnet messages on aborted canisters (#1378)
Review: Looks fine + matches description
Notes: When a checkpoint is reached, multi block executions that have not yet completed are aborted. This commit makes it such that certain management canister methods which modify state are disallowed if a canister is still processing an aborted update request.

9b242019f Execution,Interface: Propagate hook execution status to SystemState (#667)
Review: Looks fine + matches description
Notes: Adds the update_on_low_wasm_memory_hook_status to the SystemState and updates it each time the canister requests more memory from the replica.

b36319f9e Execution,Interface: Capture backtrace in syscalls (#1505)
Review: Looks fine + matches description
Notes: Adds the backtrace details to the response if a call to the SystemApi results in a trap.

a96b75d28 Execution,Interface: Canister Backtrace on Trap (#1449)
Review: Looks fine + matches description
Notes: Adds the backtrace field to HypervisorError::Trapped and populates it on receipt of a wasmtime error from a canister.

bfd6fa8fb Execution,Interface: Validate initial wasm memory size for Wasm64 (#1534)
Review: Looks fine + matches description
Notes: Adds a step when validating a wasm to check that the initial heap size does not exceed the limit imposed by the protocol.

da884ed19 Execution,Interface,Message Routing: Callback expiration priority queue (#1532)
Review: Looks fine + matches description
Notes: Adds the unexpired_callbacks queue to CallContextManager which holds all pending callbackIds ordered by their expiry date. This allows for the new (currently unused) expire_callbacks function which returns the list of callbackIds which has expired.

2259be58d Execution,Interface,Networking: Enable canister snapshots (#919)
Review: Looks fine + matches description
Notes: Sets the canister_snapshots flag to enabled by default.

7f27f9e34 Interface(PocketIC): bitcoin integration (#1491)
Review: Looks fine + matches description
Notes: Wires up the Bitcoin adapter within PocketIC, allowing PocketIC to handle Bitcoin requests.

a9e76c402 Interface,Message Routing: maybe_parallel_map util function (#1376)
Review: Looks fine + matches description
Notes: Removes duplicated code by adding the maybe_parallel_map util function which runs a function in parallel if a thread pool is provided else runs sequentially.

220baf8e1 Interface,Networking(call-v3): Return a certificate for duplicate requests that are already executed (#1523)
Review: Looks fine + matches description
Notes: Immediately returns the previous response from the new V3 call end point if an incoming request is a duplicate of one which has already been processed.

b2ce10e4a Interface,Networking: Introduce metrics to the block stripper/assembler (#1488)
Review: Looks fine + matches description
Notes: Adds various metrics to the new block stripper/assembler.

6ab95d4e5 Owners(IDX): Bump bazel to 7.0.1 (#1578)
Review: Looks fine + matches description
Notes: Bumps Bazel from 6.5.0 to 7.0.1.

cc5e5060d Node: Upgrade HostOS base image to 24.04 (#1587)
Review: Looks fine + matches description
Notes: Bumps HostOS from using Ubuntu 20.04 to using 24.04.

26a62d038 Node: Update SetupOS to 24.04 (#1537)
Review: Looks fine + matches description
Notes: Updates the SetupOS image references to use the new images built using Ubuntu 24.04 + a few other minor changes to SetupOS.

Bugfixes:

ff4d43607 Consensus,Interface(consensus): Correct several artifact bounds and update docs (#1074)
Review: Looks fine + matches description
Notes: Fixes an off by one error in one of the consensus calculations + updates documentation.

1914efda5 Consensus,Interface(consensus): Include equivocation proofs in artifacts returned by get_all_validated (#1579)
Review: Looks fine + matches description
Notes: Includes equivocation proofs when iterating the validated artifacts in the consensus pool.

b383408d6 Execution,Interface: fix a metric for counting actually executed canisters per round (#1596)
Review: Looks fine + matches description
Notes: Fixes the executed_canisters_per_round metric to only track canisters that were actually executed rather than those that were scheduled since some may not have actually been executed due to round instruction limits. Also switches the metric from a gauge to a histogram.

ec89de506 Interface,Message Routing: Fix a race condition in StateManager tests (#1673)
Review: Looks fine + matches description
Notes: Fixes a test to wait for changes to be flushed to disk before running the checks.

ee5a50001 Interface,Networking: start the BTC adapter only by accepting a config (#1584)
Review: Looks fine + matches description
Notes: Refactors the BTC adapter, exposing a new start_server function which takes arguments that allow it to be used by PocketIC.

8d630c57d Interface,Node: Fix long-standing typo (#1602)
Review: Looks fine + matches description
Notes: Literally just fixes a typo of “an” to “a”.

Performance improvements:

146430974 Interface,Message Routing: Defragment correct state (#1683)
Review: Looks fine + matches description
Notes: Fixes the canister_states reference which gets defragmented after creating each checkpoint.

Chores:

9e9f3653d Consensus,Interface(consensus): Add info log when producing equivocation (#1623)
Review: Looks fine + matches description
Notes: Logs a warning containing the full details if ever an equivocation proof is detected.

974ec76f5 Consensus,Interface(consensus): move get_block_maker_delay function from consensus_utils crate to consensus crate (#1527)
Review: Looks fine + matches description
Notes: Just moves the location of the get_block_maker_delay function.

a368e8f26 Execution,Interface: make allowed viewers feature flag configurable and enable it for ic-starter (#1598)
Review: Looks fine + matches description
Notes: Adds allowed_viewers_feature to the execution environment config so that it can be updated easily rather than using the hard coded ALLOWED_VIEWERS_ENABLED value.

66389f30e Interface,Networking: refine the exposed public interface of the adapters and start them in consistent way (#1622)
Review: Looks fine + matches description
Notes: Makes the HTTP adapter expose a start_server function whose signature matches the start_server function which was just added to the BTC adapter + also performs some minor refactoring.

905909681 Interface,Networking: hide some structs and functions from the BTC adapter (#1617)
Review: Looks fine + matches description
Notes: Just modifies the visibility of a few BTC adapter types from public to private.

Refactoring:

09e7929d5 Interface(nervous-system): Remove ic-sns-governance and ic-sns-init’s test_feature configurations (#1606)
Review: Looks fine + matches description
Notes: Determines if in test mode within the SNS governance canister package, rather than the SNS governance library, meaning the --test_feature flag can be removed from the SNS governance library and can also be removed from the packages that depend on the library.

I have also successfully run the build verification scripts for d101161c54df27f514902d22958c77aae9ce8035 and c43a4880199c00135c8415957851e823b3fb769e so have voted to adopt their proposals too.


2 Likes