aptos-core
                                
                                
                                
                                    aptos-core copied to clipboard
                            
                            
                            
                        [coin migration] deterministic address of paired FA metadata object
Description
Type of Change
- [ ] New feature
 - [ ] Bug fix
 - [ ] Breaking change
 - [x] Performance improvement
 - [ ] Refactoring
 - [ ] Dependency update
 - [ ] Documentation update
 - [ ] Tests
 
Which Components or Systems Does This Change Impact?
- [ ] Validator Node
 - [ ] Full Node (API, Indexer, etc.)
 - [ ] Move/Aptos Virtual Machine
 - [ ] Aptos Framework
 - [x] Aptos CLI/SDK
 - [ ] Developer Infrastructure
 - [ ] Other (specify)
 
How Has This Been Tested?
Key Areas to Review
Checklist
- [ ] I have read and followed the CONTRIBUTING doc
 - [ ] I have performed a self-review of my own code
 - [ ] I have commented my code, particularly in hard-to-understand areas
 - [ ] I identified and added all stakeholders and component owners affected by this change as reviewers
 - [ ] I tested both happy and unhappy path of the functionality
 - [ ] I have made corresponding changes to the documentation
 
⏱️ 8h 50m total CI duration on this PR
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 57.4%. Comparing base (
87a7f1d) to head (86edabf). Report is 9 commits behind head on main.
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #13128      +/-   ##
==========================================
- Coverage    62.2%    57.4%    -4.8%     
==========================================
  Files         827      834       +7     
  Lines      182967   198700   +15733     
==========================================
+ Hits       113833   114216     +383     
- Misses      69134    84484   +15350     
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Forge is running suite compat on 01b24e7e3548382dd25440b39a0438a993387f12 ==> f07380d58806e4f70462d19b69b6cbaf77b706ca
- Grafana dashboard (auto-refresh)
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking
 
Forge is running suite framework_upgrade on 01b24e7e3548382dd25440b39a0438a993387f12 ==> f07380d58806e4f70462d19b69b6cbaf77b706ca
- Grafana dashboard (auto-refresh)
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking
 
Forge is running suite realistic_env_max_load on f07380d58806e4f70462d19b69b6cbaf77b706ca
- Grafana dashboard (auto-refresh)
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking
 
@igor-aptos @davidiw we (@movekevin and I) realize derive(address, address) cannot give unique address for each CoinType as one coin_address can have multiple CoinType struct to be paired. So we have to turn to another solution:
create_named_object(@0x0/0xA, type_info::type_name<CoinType>())
instead to guarantee the uniqueness.
Forge is running suite compat on 01b24e7e3548382dd25440b39a0438a993387f12 ==> 86edabf19cf20e0bb5f5eb4c2810920c404432c4
- Grafana dashboard (auto-refresh)
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking
 
Forge is running suite framework_upgrade on 01b24e7e3548382dd25440b39a0438a993387f12 ==> 86edabf19cf20e0bb5f5eb4c2810920c404432c4
- Grafana dashboard (auto-refresh)
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking
 
Forge is running suite realistic_env_max_load on 86edabf19cf20e0bb5f5eb4c2810920c404432c4
- Grafana dashboard (auto-refresh)
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking
 
:white_check_mark: Forge suite compat success on 01b24e7e3548382dd25440b39a0438a993387f12 ==> 86edabf19cf20e0bb5f5eb4c2810920c404432c4
Compatibility test results for 01b24e7e3548382dd25440b39a0438a993387f12 ==> 86edabf19cf20e0bb5f5eb4c2810920c404432c4 (PR)
1. Check liveness of validators at old version: 01b24e7e3548382dd25440b39a0438a993387f12
compatibility::simple-validator-upgrade::liveness-check : committed: 1460 txn/s, latency: 19774 ms, (p50: 23800 ms, p90: 28100 ms, p99: 29900 ms), latency samples: 75940
2. Upgrading first Validator to new version: 86edabf19cf20e0bb5f5eb4c2810920c404432c4
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 1711 txn/s, latency: 16881 ms, (p50: 19800 ms, p90: 22300 ms, p99: 22600 ms), latency samples: 85580
3. Upgrading rest of first batch to new version: 86edabf19cf20e0bb5f5eb4c2810920c404432c4
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 1775 txn/s, latency: 16524 ms, (p50: 19000 ms, p90: 22400 ms, p99: 22600 ms), latency samples: 92340
4. upgrading second batch to new version: 86edabf19cf20e0bb5f5eb4c2810920c404432c4
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 3580 txn/s, latency: 8856 ms, (p50: 9600 ms, p90: 12900 ms, p99: 13200 ms), latency samples: 143200
5. check swarm health
Compatibility test for 01b24e7e3548382dd25440b39a0438a993387f12 ==> 86edabf19cf20e0bb5f5eb4c2810920c404432c4 passed
Test Ok
- Grafana dashboard
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking
 
:white_check_mark: Forge suite realistic_env_max_load success on 86edabf19cf20e0bb5f5eb4c2810920c404432c4
two traffics test: inner traffic : committed: 7885 txn/s, latency: 4983 ms, (p50: 4800 ms, p90: 5700 ms, p99: 10800 ms), latency samples: 3398860
two traffics test : committed: 100 txn/s, latency: 1992 ms, (p50: 1800 ms, p90: 2200 ms, p99: 6700 ms), latency samples: 1800
Latency breakdown for phase 0: ["QsBatchToPos: max: 0.207, avg: 0.202", "QsPosToProposal: max: 0.245, avg: 0.231", "ConsensusProposalToOrdered: max: 0.433, avg: 0.406", "ConsensusOrderedToCommit: max: 0.386, avg: 0.375", "ConsensusProposalToCommit: max: 0.799, avg: 0.782"]
Max round gap was 1 [limit 4] at version 1653704. Max no progress secs was 4.663644 [limit 15] at version 1653704.
Test Ok
- Grafana dashboard
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking
 
:white_check_mark: Forge suite framework_upgrade success on 01b24e7e3548382dd25440b39a0438a993387f12 ==> 86edabf19cf20e0bb5f5eb4c2810920c404432c4
Compatibility test results for 01b24e7e3548382dd25440b39a0438a993387f12 ==> 86edabf19cf20e0bb5f5eb4c2810920c404432c4 (PR)
Upgrade the nodes to version: 86edabf19cf20e0bb5f5eb4c2810920c404432c4
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 1234 txn/s, submitted: 1237 txn/s, failed submission: 2 txn/s, expired: 2 txn/s, latency: 2437 ms, (p50: 2000 ms, p90: 4200 ms, p99: 8100 ms), latency samples: 109900
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 1157 txn/s, submitted: 1159 txn/s, failed submission: 2 txn/s, expired: 2 txn/s, latency: 2583 ms, (p50: 2100 ms, p90: 4200 ms, p99: 6300 ms), latency samples: 104140
5. check swarm health
Compatibility test for 01b24e7e3548382dd25440b39a0438a993387f12 ==> 86edabf19cf20e0bb5f5eb4c2810920c404432c4 passed
Upgrade the remaining nodes to version: 86edabf19cf20e0bb5f5eb4c2810920c404432c4
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 1248 txn/s, submitted: 1250 txn/s, failed submission: 2 txn/s, expired: 2 txn/s, latency: 2500 ms, (p50: 2100 ms, p90: 4300 ms, p99: 5500 ms), latency samples: 112340
Test Ok
- Grafana dashboard
 - Humio Logs
 - Axiom Logs
 - Validator CPU Profile
 - Fullnode CPU Profile
 - Test runner output
 - Test run is land-blocking