Proposal: 133900
Summary:
- The build hash in CDN, proposal and local build matches and is “e621d2e5b89fe727035e4870ff4f579c10c5cbf230af15fe2805d3dec76770df”.
- Vote: Voting yes to adopt the proposal
- Reason: The changes in this proposal looks good, and build has matches too. One change related to canister_creation_fee is still not implemented ( but noted that a followup PR / proposal will be there soon ).
Features:
- e7b16eab4 Consensus,Interface(consensus): adjust dynamic block maker delay (#2336)
Notes: const DYNAMIC_DELAY_MAX_NON_RANK_0_BLOCKS has been increased from 5 to 10. With this, the dynamic block maker delay will be triggered less frequently.
Review: Code changes look good and match release notes. - e3c408cd0 Consensus,Interface(consensus): push all ingress messages (#2233)
Notes: As per current behaviour only small size message blow 1024 bytes are pushed. All the large message rely on advert and then request to download, and hence add to latency. Is_latency_sensitive is now set to true, to push all the messages.
Review: Code changes look good and match release notes. - c5e9e2af1 Consensus,Interface(consensus): reduce consensus bouncer function refresh period from 3 seconds to 1 second. (#1885)
Notes: The refresh period in Consensus_Bouncer has been changed to 1s from 3s. This will allow nodes to catch up more quickly ( 10 blocks per second theoretically ).
Review: Code changes look good and match release notes. - 237990ccb Crypto,Interface(crypto): skip ingress_expiry check for anonymous queries and read_state requests (#1768)
Notes: ingress_expiry checks are now skipped for all anonymous query and read state requests, as per the specification #343
Review: Code changes look good and match release notes. - 161b12ce8 Crypto,Interface(crypto): Add support for derivation to ecdsa_secp256r1 crate (#1730)
Notes: Added code changes to support derivation path handling. DerivationPath. DerivationIndex structures have been implemented allowing BIP32-style key derivation. Ckd, ckd_pub, derive_offset functions have been added to support the implementation.
Review: Code changes look good and match release notes. - d361dd692 Execution,Interface: Update cycles cost for compute (#2308)
Notes: Significant increase in message base fee from 590K to 5M. Instruction fee from 0.4 to 1 cycle, and noted that the canister creation fee will be addressed in a separate PR. These changes are per the discussion on fees on the forum Evaluating Compute Pricing in Response to Increased Demand on the Internet Computer Protocol.
Review: Code changes look good and match release notes. - 74751adc0 Execution,Interface: Skip per-canister overhead if no instructions used (#2322)
Notes: When total_instructios_used is zero, the code will skip the per-canister balance check overhead, and hence will improve the round capacity.
Review: Code changes look good and match release notes. - 71f3b769c Execution,Interface: [v3] Make subnet replica version of latest block available to execution environment (#2248)
Notes: replica_version has been added to Batch to make it available to the execution environment. Various places in the code has changed to accommodate this including test cases too.
Review: Code changes look good and match release notes. - b29e83ac7 Execution,Interface: enable allowed_viewers feature for canister log visibility (#2244)
Notes: The allowed_viewer_feature flag is now enabled for the canister log visibility.
Review: Code changes look good and match release notes. - 3006ab867 Execution,Interface: Evict sandboxes based on their RSS (#2197)
Notes: Eviction for sandbox has been changed from percentage to based on their RSS. Eviction Count is now Set to 200 processes to balance eviction cost without overwhelming the system. Eviction Memory Threshold: Evict 1 GiB (1,024 MiB) of memory at a time. Default Memory Usage per Process: Assumes each sandbox process uses 50 MiB of memory, with updates managed asynchronously.
Review: Code changes look good and match release notes. - 39f67a628 Interface(crypto): Introduce master key ID variant for vetKD (#2108)
Notes: This is one of many changes introduced to support VetKeys on ICP. This change introduces master key ID variant. pub struct VetKdKeyId has been added, and later made part of MasterPublicKeyId
Review: Code changes look good and match release notes. - 0515bc380 Interface,Message Routing: Introduce a minimum supported certification version. (#1502)
Notes: This change is one of the step to phase out old certification versions. MIN_SUPPORTED_CERTIFICATION_VERSION constant has been added and set to V17.
Review: Code changes look good and match release notes. - fa22c9fa9 Interface,Message Routing: Introduce msg_limit for application subnets in payload builder (#1798)
Notes: msg_limit hs been added to stream_slice to make sure it does not exceed a specified minimum. This is endured by bounding the stream slice to a max_message_limit upperbound and stream_begin as a lower bound.
Review: Code changes look good and match release notes. - ac6c9d1e5 Interface,Message Routing: Reduce the limit for messages in Stream from 50k to 10k. (#2185)
Notes: Max stream message has been reduced to 10K from 50K as paer practical usage patterns.
Review: Code changes look good and match release notes. - 8c2e0c98e Interface,Networking(https-outcalls): re-enable H/2 support for outcalls (#2200)
Notes: This change reintroduces http2 for in the builder.
Review: Code changes look good and match release notes. - 993fc8586 Interface,Node: initial draft of custom metric tool and its systemd timer (#1963)
Notes: A custom metric_tool has been added to be exported to node_exporter through textfile collector. This tool collects specific metrics TLB shootdowns and export them in Prometheus format.
Review: Code changes look good and match release notes.
Bugfixes:
- f306fcb8c Consensus,Interface(recovery): Use metric for highest validated certification for determining node heights (#2332)
Notes: certification_share_height has been added to node_heights. This was a bug previously where wrong metric was used to calculate highest agreed upon state. certification_share_height is not taken into account in artifact_pool_certification_height_stat stat.
Review: Code changes look good and match release notes. - 3d590ec5a Consensus,Interface: remove the async locks from the orchestrator (#2325)
Notes: Locks have been removed at various places in the orchestrator. Code changes show the removal of .await()
Review: Code changes look good and match release notes. - e70f04d9f Consensus,Interface(recovery): Print example of expected ssh key format during recovery (#2187)
Notes: Changes to the console to add the expected ssh key format during recovery.
Review: Code changes look good and match release notes. - 55297ccfd Consensus,Interface: update ic.json5 nns_urls references (#2192)
Notes: This change addresses some missed places of changing nns_url to nns_urls ( from previous proposals ).
Review: Code changes look good and match release notes. - ec12a4eea Interface,Networking(https-outcalls): Increase allowed header size limit for HTTP/2 requests (#2292)
Notes: .http2_max_header_list_size(MAX_HEADER_LIST_SIZE) has been added to Client Builder to support calls with header size more than 16KB.
Review: Code changes look good and match release notes. - 218fdbcaa Interface,Networking: remove the idle future (#2285)
Notes: The future that returns when the adapter becomes idle was implemented in a very complex way. The change has been removed.
Review: Code changes look good and match release notes. - 52bc5275e Interface,Networking: call make_idle if the adapter is idle initially (#2278)
Notes: Enables the adapter to stay idle until it detects activity, minimizing resource usage when no new events occur.
Reviews: Code changes look good and match release notes - b56d5e1ba Interface,Networking: synchronize properly with tokio::Notify instead of sleeping (#2178)
Notes: Code changes have been made to AdapterState where idle_seconds has been introduced to check for how long a adapter should wait before becoming idle. Two methods idle and active have been added that use the watch channel to monitor and manage the adapter.
Review: Code changes look good and match release notes. - 582ce51a6 Interface,Node: Fix confusing logging of ipmitool (#2297)
Notes: A fix was made to remove confusing logging on successful retrieval of mac address.
Review: Code changes look good and match release notes. - 677aa6862 Owners(IDX): bump to thiserror v1.0.65 in Bazel (#2305)
Notes: thiserror is bumped from 1.0.64 to 1.0.65
Review: Code changes look good and match release notes. - 7be43416d Owners(IDX): bump to typenum v1.17.0 in Bazel (#2296)
Notes: typenum has been bumped to 1.17.
Reviews: Code changes look good and match release notes. - 53f97714f Owners(IDX): work around spurious rebuilds in rustix (#2287)
Notes: rustix patches has been made for determinism.
Reviews: Code changes look good and match release notes. - dac2f36f9 Node: Make regex for special address ranges more strict (#2315)
Notes: Changes have been made to regex to filter out special addresses more strict.
Reviews: Code changes look good and match release notes. - 361d09aeb Node: Improve prestorecon performance (#2218)
Notes: selabel_open call has been moved out of the for loop to improve performance.
Reviews: Code changes look good and match release notes. - 3753b4388 Node(setupos): update default ipv6 prefix and gw for setupos testnets (#1805)
Notes: A minor change in setupos gateway for testnets.
Review: Code changes look good and match release notes.
Chores:
- 80dc25b52 Consensus,Interface(consensus): move notary related functions from consensus_utils crate to notary.rs in consensus crate (#2310)
Notes: Its a simple change to move notary related changes from concensus_utils crate to notary.rs in consensus crate for maintainability.
Review: Code changes look good and match release notes. - d3cfffac1 Consensus,Interface(consensus): Replace generic pool metrics in certification pool (#2312)
Notes :struct PerTypeMetrics has been added and later used in PoolMetrics struct. It helps measure max_height, min_height, count and enhances observability of pool states.
Review: Code changes look good and match release notes. - 4f7cebee1 Consensus,Interface: Don’t log default replica version in batch delivery (#2276)
Notes: Instead of logging the default version, the actual version of the block being delivered is logged.
Review: Code changes look good and match release notes. - 10150fb34 Consensus,Interface(consensus): Rename persistent certification pool section for consistency (#2262)
Notes: A minor renaming from persistent_pool to validated for more consistency.
Review: Code changes look good and match release notes. - c5e6242f5 Crypto,Interface: remove unneeded clippy allows (#2326)
Notes: #[allow(clippy::needless_collect)] directive was used in many files and is now removed to allow expect and unwrap in tests.
Review: Code changes look good and match release notes. - 4899bba2c Interface: upgrade tower-rs crates (#1773)
Notes: tower-rs has been upgraded to 0.5.1 along with some minor bumps to tower-http to 0.6.1
Review: Code changes look good and match release notes. - 54f0fae1c Interface: disallow async locks (RwLock) (#2144)
Notes: #![allow(clippy::disallowed_types)] directive has been added to multiple files to suppress lint warnings for tokio::sync::Mutex and tokio::sync::RwLock.
Review: Code changes look good and match release notes. - c84916512 Interface,Message Routing: Keep extra in-memory states (#2061)
Notes: The change has been made to make memory usage efficient by removing in-memory states more eagerly at checkpointed heights, while keeping some necessary states for CUP creation and validation. This is of the changes, and many more will follow. This particular change adds one more parameter to remove_inmemory_states_below() &BTreeSet::new() allowing some states to be retained.
Review: Code changes look good and match release notes. - 619190192 Owners(IDX): bump rules_rust to 0.53.0 (#2307)
Notes: rules_rust has been bumped to 0.53.0
Review: Code changes look good and match release notes. - 35a25eaf6 Owners(IDX): proc-macro2: 1.0.88 → 1.0.89 & remove rules_rust.patch (#2224)
Notes: proc-macro2-1.0.89 has the fix for build reproducibility issue and hence rules_rust.patch is now removed.
Review: Code changes look good and match release notes. - 7dede601c Node: add more logging for check-network.sh (#2302)
Notes: Improvements have been made to eval_command_with_retries() command to capture additional information ‘ip -6 route show’ and ${dns_servers}".
Review: Code changes look good and match release notes. - 60ce9d351 Node: revert removal of old API BN certificates (#2209)
Notes: It is a revert of fix: add a temporary measure to remove existing API BN certs by r-birkner · Pull Request #2146 · dfinity/ic · GitHub
Review: Code changes look good and match release notes. - 36cbd803b Node: Update Base Image Refs [2024-10-24-0808] (#2229)
Notes: Updates base image references
Review: Code changes look good and match release notes.
Refactoring:
- 6c4efce2e Interface,Message Routing: split load_checkpoint (#2210)
Notes: It’s a refactoring and splits load_checkpoint function for readability and also enabling async loading of protobufs for validation.
Review: Code changes look good and match release notes.
Proposal: 133901
Summary:
- The build hash in CDN, proposal and local build matches and is “dfe619494d935c496e81ad717219b2cff56d296898ea309296b65863d42cc582”.
- Vote: Voting yes to adopt the proposal
Features:
cc1319059 Interface,Networking(Consensus): Enable the hashes-in-blocks feature
Notes: HASHES_IN_BLOCKS_FEATURE_ENABLED is set to true.
Review: Code changes look good and match release notes.
Proposal: 133902
Summary:
- The build hash in CDN, proposal and local build matches and is “155b99ea7ddbf3491404f5221b7240affd9287fa90b0eef76c36d6f94919e9dc”.
- Vote: Voting yes to adopt the proposal
Other changes:
- f910b32ef Node: Squashed commit of the following: Try using 6.11 kernel. Use 6.11 base images
Notes: base image reference updates and use of kernel 6.11
Review: Code changes look good and match release notes.