Skip to content

Conversation

@ksn6
Copy link
Contributor

@ksn6 ksn6 commented Aug 21, 2025

NOTE: in addition to catching up, we make the following modifications:

(1) To accommodate anza-xyz/agave@b82d3bb:

  • Eliminate root_bank_cache.rs and use SharableBank instead
  • Gotta correct this spelling error in Agave later.

(2) To accommodate anza-xyz/agave@dc0f51a:

  • Eliminate LeaderBankNotifier in block_creation_loop.rs
  • Write a "bank cleared notifier" condvar that notifies the loop once the bank has been cleared (or a timeout happens).

These modifications are important to make now rather than later; otherwise, we cannot cherry-pick all commits that get us on track to Agave. It's dangerous to selectively cherry-pick commits; we don't want to risk cherry-picking a later commit that indirectly depends on something we skipped, or else weird bugs may occur.

@ksn6 ksn6 force-pushed the catchup-to-agave-20250807 branch from 6eda349 to f3a4089 Compare August 21, 2025 02:51
@ksn6 ksn6 marked this pull request as ready for review August 21, 2025 11:11
@ksn6 ksn6 changed the title feat: catchup to agave, until 2025-08-07 feat: catchup to agave, until 2025-08-07 + bank-related modifications Aug 21, 2025
@wen-coding
Copy link
Contributor

NOTE: in addition to catching up, we make the following modifications:

(1) To accommodate anza-xyz/agave@b82d3bb:

  • Eliminate root_bank_cache.rs and use SharableBank instead
  • Gotta correct this spelling error in Agave later.

(2) To accommodate anza-xyz/agave@dc0f51a:

  • Eliminate LeaderBankNotifier in block_creation_loop.rs
  • Write a "bank cleared notifier" condvar that notifies the loop once the bank has been cleared (or a timeout happens).

These modifications are important to make now rather than later; otherwise, we cannot cherry-pick all commits that get us on track to Agave. It's dangerous to selectively cherry-pick commits; we don't want to risk cherry-picking a later commit that indirectly depends on something we skipped, or else weird bugs may occur.

Is it possible to split into two PRs:

alexpyattaev and others added 21 commits August 21, 2025 23:13
* fix test_get_slot_entries_with_shred_count_corruption
* fix test_merkle_root_metas_data
As outlined in #7256, we need to get Agave off of crates that depend
back on Agave.

spl-token-2022 is one of those crates

Use spl-token-2022-interface instead. To go with this, we had to also
upgrade to confidential-transfer-proof-extract v0.4.0, which requires
modifications to some tests.

Everything should be very straightforward otherwise, and we get to see
some red lines in the lockfile!
After #7291 landed, #7298 didn't mention any conflicts. However, since
the first one migrated away from spl-memo, and so did #7298, there was
an entry not cleaned up between the two PRs.

Remove the unneeded entry for spl-memo in all lockfiles.
* greedy_scheduler: cache Batches

This avoids a bunch of allocations/deallocations in the hot path

* banking: move Batches to SchedulingCommon

* banking: clean up send_batch(es)
* turbine: move standard_broadcast_run to non-overlapping ports

* turbine: move benchmark broadcast_shreds_bench to non-overlapping ports
Renaming UPSERT_POPULATE_RECLAIMS to UPSERT_RECLAIM_TEST_DEFAULT
* Renames bpf_account_data_direct_mapping => stricter_abi_and_runtime_constraints.

* Adds InvokeContext::account_data_direct_mapping.

* Separates stricter_abi_and_runtime_constraints from account_data_direct_mapping.

* Rekeys stricter_abi_and_runtime_constraints.

* Adjusts test_serialize_parameters_with_many_accounts().
* move cluster_info::Node to separate module
* update the use path in other files to refer to the new location
…x tests (#7312)

Changing tests to use u64 rather than bool for T during accounts index tests
spl-token dependency replaced with spl-token-interface.
LucasSte and others added 13 commits August 21, 2025 23:13
* Remove conformance tests

* Remove transaction builder
* clean up the server spawn API
* remove pub from functions which do not need to be pub
* remove some obviously wrong comments
docs: remove docs/src/operations/validator-initiatives.md
… i64 (#7309)

* Changing addref from a boolean to a counter
* Removed formatting from assert as it can degrade perf
* Remove dead code
* update shred format tests to use merkle shreds
* address feedback from Brennan
* Update lib.rs

* Update sysvar.rs

* Update sigverify_shreds.rs

* Update genesis_accounts.rs
* Update read_only_accounts_cache.rs

* Update tests.rs

* Update memory.rs

* Update byte_block.rs
* Change signature of configure

* Remove index in callee from InstructionAccount

* Remove parameter from constructor

* Add comment and constant

* Add tests

* Update toml file

* Sort cargo file

* debug_assert against the deduplication map length

* Assert maximum accounts
@ksn6 ksn6 force-pushed the catchup-to-agave-20250807 branch from 2b1c3bf to 6353196 Compare August 21, 2025 23:13
@ksn6
Copy link
Contributor Author

ksn6 commented Aug 21, 2025

NOTE: in addition to catching up, we make the following modifications:
(1) To accommodate anza-xyz/agave@b82d3bb:

  • Eliminate root_bank_cache.rs and use SharableBank instead
  • Gotta correct this spelling error in Agave later.

(2) To accommodate anza-xyz/agave@dc0f51a:

  • Eliminate LeaderBankNotifier in block_creation_loop.rs
  • Write a "bank cleared notifier" condvar that notifies the loop once the bank has been cleared (or a timeout happens).

These modifications are important to make now rather than later; otherwise, we cannot cherry-pick all commits that get us on track to Agave. It's dangerous to selectively cherry-pick commits; we don't want to risk cherry-picking a later commit that indirectly depends on something we skipped, or else weird bugs may occur.

Is it possible to split into two PRs:

Discussed offline - I think we're good to merge everything into this PR given that we're replacing the condvar stuff with a simple sleep.

@ksn6 ksn6 merged commit 171dbbf into anza-xyz:master Aug 22, 2025
8 checks passed
@ksn6 ksn6 deleted the catchup-to-agave-20250807 branch August 22, 2025 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.