Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mainnet] Release v1.8.3 #11188

Merged
52 commits merged into from
Dec 4, 2023
Merged

[Mainnet] Release v1.8.3 #11188

52 commits merged into from
Dec 4, 2023

Conversation

grao1991
Copy link
Contributor

@grao1991 grao1991 commented Dec 4, 2023

Description

Test Plan

areshand and others added 30 commits October 26, 2023 21:13
* add resumable replay verify if a partition failed

* use gcs for reading replay-verify

* [storage] replay verify last partition overtime

* [storage] temporary rebalance

* use gcloud command instead
Pretty straight forward, but I think our crypto apis are really not
great. The amount of traits that should really be compressed down into a
single trait for PublicKey, PrivateKey, and Signature. This would make
maintaining and adding new libraries so much easier.
with this we can now send secp256k1 signed transactions to the
blockchain...

I'm going to do some code refactoring in authenticators and transactions
before resuming the end-to-end testing and the feature gating of this feature.
This was adding extra code and adding complexity to what is already a
complex space. If we aren't going to use the preimage, we have no need
to write the code.

We need to be more dilligent about removing this type of unnecessary
code from the codebase, because it really impairs our ability to move
fast.
* AuthenticationKey and Address are 1:1, so all this code is legacy
  based upon some weird goal of trying to compress the account address
  into an insecure size back in Libra. Even the authors of this code
  have since moved to 32-bytes in their own blockchain.
* prefix is never used and removed.
* derived_address -> account_address because there's no derivation it is
  literally 1:1
This is the implementation of AIP-52:
https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-52.md

This AIP proposes to allow sponsored transactions, one in which the gas
payer is not the primary signer of the transaction, to create accounts
for the primary signer if it does not exist. Currently when submitting a
sponsored transaction an account must first exist. This is an
unnecessary friction for using gas fee payer accounts for new accounts.
As it means that the gas fee payer solution must first submit an
independent transaction to the blockchain.

I also cleaned up the tests for fee payer since there were a lot, and they
were excessively complex.
sometimes the client would like to send a transaction to a fee paying
network without knowing who will actually pay for it... this PR makes
the fee payer address optional by allowing signatures on Address::ZERO
AIP forthcoming will update...
if the fee payer doesn't sign off on the fee payer, any signature can be
used, which in turn means any signature can be used as the fee payer.
Introduces a way to encapsulate generic crypto as the sender of a
transaction creating an indirection an allow us to have multi keys of
differing types.
* We'll use a single feature flag, since it is a rather composite
  featuer and breaking it up into micro-features is a pain
* Remove the unnecessary secp256k1 transaction authenticator

Note, this is a devnet breaking change!
Test Plan: workflow on PR passes
Previous was 1.7.2 however 1.7.3 actually has an important fix
…0775)

Tests show that overriding the socket options for send and recv buffer actually hurts performance (even with default linux kernel settings). Logically, this rolls back #4649 but keeping the configs and code around in case this or other socket options are revisited.

New results:
* `net_bench_two_region_env`: 800 KB/s -> 4 MB/s
* `pfn_performance_with_realistic_env`: 4K -> 6K TPS
Copy link

trunk-io bot commented Dec 4, 2023

⏱️ 32h 46m total CI duration on this PR
Job Cumulative Duration Recent Runs
test-replay / replay-verify (10) 2h 🟥
test-replay / replay-verify (16) 2h
test-replay / replay-verify (9) 1h 57m
test-replay / replay-verify (8) 1h 56m 🟩
test-replay / replay-verify (15) 1h 49m 🟩
rust-unit-tests 1h 39m 🟩🟩🟩
test-replay / replay-verify (6) 1h 34m 🟩
test-replay / replay-verify (11) 1h 32m 🟩
test-replay / replay-verify (12) 1h 21m 🟩
test-replay / replay-verify (0) 1h 21m 🟩
test-replay / replay-verify (4) 1h 19m 🟩
test-replay / replay-verify (13) 1h 14m 🟩
test-replay / replay-verify (2) 1h 11m 🟩
test-replay / replay-verify (3) 1h 9m 🟩
rust-smoke-tests 1h 4m 🟩🟩
test-replay / replay-verify (14) 1h 4m 🟩
test-replay / replay-verify (7) 1h 3m 🟩
test-replay / replay-verify (1) 1h 1m 🟩
test-replay / replay-verify (5) 1h 🟩
rust-images-performance / rust-all 48m 🟩🟩
forge-framework-upgrade-test / forge 45m 🟩🟩
rust-lints 35m 🟩🟩🟩
rust-images-indexer / rust-all 34m 🟩🟩
rust-images-failpoints / rust-all 33m 🟩🟩
rust-images / rust-all 33m 🟩🟩
forge-e2e-test / forge 32m 🟩🟩
forge-compat-test / forge 29m 🟩🟩
cli-e2e-tests / run-cli-tests 18m 🟩🟩
general-lints 8m 🟩🟩🟩
copy-images-to-docker-hub / copy-images 7m 🟩🟩
node-api-compatibility-tests / node-api-compatibility-tests 5m 🟩🟩
docs-lint 2m 🟩🟩🟩
file_change_determinator 34s 🟩🟩🟩
run-tests-main-branch 23s
semgrep/ci 23s 🟩
file_change_determinator 22s 🟩🟩
file_change_determinator 17s 🟩
determine-test-metadata 10s 🟩
determine-docker-build-metadata 7s 🟩🟩
permission-check 5s 🟩🟩
permission-check 2s 🟩
permission-check 2s 🟩
permission-check 2s 🟩
permission-check 2s 🟩
check-terraform-modifications 1s 🟥🟥

🚨 4 jobs on the last run were significantly faster/slower than expected

Job Duration vs 7d avg Delta
node-api-compatibility-tests / node-api-compatibility-tests 2m 50s +181%
rust-images / rust-all 16m 10m +65%
rust-lints 12m 8m +55%
rust-unit-tests 33m 27m +22%

settingsfeedbackdocs ⋅ learn more about trunk.io

@perryjrandall perryjrandall closed this pull request by merging all changes into mainnet in 4f95626 Dec 4, 2023
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.