F3 passive testing #12287
Replies: 17 comments
-
Note that the f3 implementation team will not deploy anything that initiates f3 in mainnet environment until the vast majority of the network has stabilized from the network upgrade. The current plan is to bootstrap the initial f3 instance among a small amount of the nodes on Aug 7th/8th (>24 hours after the upgrade), we will monitor the network and adjust the deployment plan accordingly, and keep you updated on what to expect in this discussion! |
Beta Was this translation helpful? Give feedback.
-
🚀F3 Passive Testing Kick offAug 7th, 2024 We're excited to announce the soft launch of Fast Finality for Filecoin (F3) as part of FIP-0086! 🏎️If you've been following our progress, you might already know that this has been in the works for some time. Fast Finality aims to dramatically reduce the finality time from 900 epochs to just around 2, increasing the speed by 450X and ensuring that "finality" truly means finality. This means transactions will be completed reliably and quickly. With the mandatory release of Lotus v1.28.1 and above, we're now able to conduct passive testing on the mainnet. This testing is a critical step toward fully implementing Fast Finality in the upcoming network upgrade (nv24) later this year. After the full rollout, we expect significant UX improvements for both token holders and dApp users. Additionally, F3 will enable the creation of trustless clients and bridges that can send messages over the network and verify finality without needing to run a full node, making it both efficient and cost-effective. To learn more about Fast Finality and its implications for bridging to other networks, check out this talk. We're thrilled to take this step forward and look forward to your feedback as we move closer to full implementation. F3 Passive TestingF3 has undergone extensive testing in both code simulation and on the Butterfly testnet. However, to ensure it's ready for mainnet production, we need to perform large-scale testing that mirrors the number of nodes on the mainnet. This will help verify the performance of F3, GPBFT, and Lotus integration. Our goal is to execute this testing as passively as possible, minimizing disruptions. The F3 engineering team plans to start with a small group of F3 nodes to confirm everything works as expected. We will gradually increase the number of F3 participants, aiming to reach a scale close to mainnet production. Why Passive Testing?The transition to F3 marks a significant advancement for Filecoin and its ecosystem, offering faster transaction speeds and enabling trustless bridges. However, this evolution introduces complexities in testing, verification, and ensuring confidence in the system's implementation across the network. Passive testing is essential for several reasons:
Passive Testing allows the F3 engineering team to test a full-scale rollout on a real network without affecting consensus. This approach ensures that the testing does not disrupt existing network operations. Testing Plan SummaryA more thorough testing plan is laid out in this issue, in a nutshell:
It's important to note that none of the above affects the Expected Consensus (EC) in nv23. F3 runs in the background and finalizes tipsets independently from EC for testing purposes, hence the term “passive.” Observable Metrics for MonitoringThe F3 team has implemented several metrics to monitor node and consensus performance:
We will share updates and results with the community at least bi-weekly, if not more frequently. You can also monitor F3 metrics via the Prometheus debug metrics endpoint at Initial F3 DeploymentThe F3 team is excited to announce the initial deployment of Fast Finality (F3) starting on August 7th. We will begin with 50 randomly selected participants, including some of our dedicated alpha testers from the community 💙. Once the deployment begins, you will start seeing F3 logs similar to the following:
This log indicates that F3 has successfully finalized a tipset. Adjusting Log LevelsIf you wish to adjust the log level for F3 in Lotus or Lotus Miner, you can do so by running the following commands:
Monitoring and ReportingThe F3 engineering team will be closely monitoring all participating nodes. If you notice any irregular behavior on your nodes, please report it in the Mainnet VerificationsBelow is a list of verifications that will be performed on the mainnet during the initial F3 deployment:
We look forward to this exciting phase and appreciate your support and feedback as we work towards fully implementing F3 across the network. 🚢 Launch Time!Fast Finality has been one of the most anticipated features for Filecoin participants since the network's inception. We are thrilled to collaborate with YOU to finally bring this feature to the Filecoin mainnet by the end of the year! We want to extend our gratitude to all community members participating in this testing phase. Special thanks go to our early testers for their invaluable support with Slack handles: TippyFlits, Reiers, stuberman, beck, and @marco-storswift. Stay tuned for updates in the Happy finalizing fast! 🏎️💨🏁 |
Beta Was this translation helpful? Give feedback.
-
Testing update - Aug 14thIn the past week..
🐛 Bandwidth Usage SpikeLotus node operators have reported irregular traffic spike starting Wednesday morning and we have confirmed it is caused by F3 implementation. The excessive F3 bandwidth was caused by a routing loop in pubsub. The “manifest” server (used to facilitate testing) broadcast a small message every 20 seconds, which shouldn’t have introduced an excessive load. Unfortunately, pubsub’s routing loop prevention mechanism appears to have been ineffective in this case so each message cycled around the network over and over. We’ve fixed this issue by:
Note that even tho the bandwidth usage on nodes was increased, we believe that does not impact/cause issue towards node synchronization. However, we would also like to avoid any unexpected node performance degradation as much as possible. Therefore, we will release a lotus patch in NA working hours (The fix is already available here #12390, we will merge it after more testing). Next round..Next week, we aim to scale our testing to 500-1000 nodes. We will gradually increase the number of nodes participating in F3 and continue monitoring their performance throughout the process. One piece of good news is that we haven't encountered any issues so far that impact node synchronization or block production, and we will remain conservative with our testing to avoid any potential problems. If you notice anything irregular, please don't hesitate to reach out to us in #fil-fast-finality! |
Beta Was this translation helpful? Give feedback.
-
F3 (Fast Finality) passive testing update - 2024-09-05🗂 F3 Readiness Review and Timeline AdjustmentWith the proposed nv24 upgrade date rapidly approaching, we conducted a thorough review of the tasks necessary to complete our "Hardening and Mainnet Deployment Readiness" milestone. Our assessment revealed a time deficit of approximately three weeks. In light of this finding, we've taken two important steps:
This time extension is important for completing our "Hardening and Mainnet Deployment Readiness" milestone, ensuring we address all critical items in our backlog. The additional time will help us maintain quality and minimize risks as we approach this significant network upgrade. ⏮️ Since the last update: Progress over the past weeksLet's dive into the specifics of our recent hardening, fixes and testing we have done in the past weeks: Hardening and Fixes:
Testing Efforts:
⏭️ Upcoming Week's Focus:Hardening and Fixes:
Testing Efforts:
Stay tuned for more updates in the #fil-fast-finality channel as we continue to harden F3 and move closer to the nv24 rollout! 💪 |
Beta Was this translation helpful? Give feedback.
-
F3 (Fast Finality) passive testing update - 2024-09-15Hey all! 👋 Another week has passed, so here is another weekly update on the F3 passive testing and hardening efforts in preparation for the mainnet launch. As mentioned in last week's update, the team requested a time adjustment for the nv24 timeline which would allow us to complete all tasks in our "Hardening and Mainnet Deployment Readiness" milestone, and complete critical items in our backlog. This timeline adjustment has now been accepted, and the the nv24 timeline and F3 rollout looks like this now:
⏮️ Since the last update: Progress over the past weekHardening and Fixes:
Testing Efforts:
⏭️ Upcoming Week's Focus:Hardening and Fixes:
Testing Efforts:
Next week the F3 team will be co-locating. This focused sprint aims to complete the remaining tasks in Milestone 2: "Hardening and Mainnet Deployment Readiness". By working side-by-side, we expect to accelerate our progress, and ensure we're fully prepared for the upcoming mainnet deployment 🚀. Additionally, we are working on preparing an operators’ guide to F3 to help get the community ready for the F3 launch. This guide will cover key topics such as setup, configuration, and best practices. We aim to have it published by the end of next week. Stay tuned for more updates in the #fil-fast-finality channel! |
Beta Was this translation helpful? Give feedback.
-
Hey everyone! 👋 Here are some quick updates on the passive testing efforts: ⏮️ On Friday ( The F3 team resumed work on the passive testing tools after the nv24 upgrade was completed. All node operators have now upgraded to the latest go-f3 version (v0.7.2) which includes the latest bug fixes and enhancements. After addressing some infrastructure tasks, the team deployed F3 passive testing to around 5 MinerIDs. The testing ran smoothly over the weekend without any issues. ⏮️ On Monday ( We began increasing the number of participants in the passive testing, starting with around 100 MinerIDs, which was successful, and let it run for about 1 hour. We then increased to 200 MinerIDs, which also successfully bootstrapped and let it run for a couple of hours. During the 200 MinerID testing round, we observed a CPU spike on our observer node. The CPU profile dump indicated that the SplitStore running compaction caused the spike. Testing was paused around 20:00 UTC to allow the team to rest. Additionally, we created redirects for our public F3 Grafana dashboards to make them easier to find. These redirects use a 308 status code, allowing us to change the backend URL without breaking previously announced links: - Calibnet: https://grafana.f3.eng.filoz.org/public/calibnet ⏭️ Todays plan ( We plan to investigate data from yesterday's testing rounds, focusing on fluctuations between different senders during various phases and rounds on our observer node. After analyzing yesterday's data, we aim to run a test with 600 MinerIDs (approximately 30% of the network). 📣Other noteworthy callouts:
|
Beta Was this translation helpful? Give feedback.
-
Hey everyone! 👋 Quick EOD update: ⏮️ What happened today (2024-11-26)
🟡 Known open issues (as of EOD 2024-11-26)
⏭️ Plan for tomorrow (2024-11-27)
|
Beta Was this translation helpful? Give feedback.
-
Hey everyone! 👋 Quick update: ⏮️ What happened today (2024-11-27)
🟡 Known open issues (as of EOD 2024-11-27)
⏭️ Plan for tomorrow (2024-11-28)
|
Beta Was this translation helpful? Give feedback.
-
Hey everyone! 👋 Update from todays passive testing round: ⏮️ What happened today (2024-11-28)
🟡 Known open issues (as of EOD 2024-11-28)
⏭️ Plan for tomorrow (2024-11-29)
|
Beta Was this translation helpful? Give feedback.
-
Hey everyone! 👋 Update from Fridays passive testing round: ⏮️ What happened today (2024-11-29)
So to end of todays, and the weeks update with some significant achievements of the week:
🟡 Known open issues (as of EOD 2024-11-29)
|
Beta Was this translation helpful? Give feedback.
-
Hey all! 👋 Here is an update from todays passive testing round: ⏮️ What happened today (2024-12-02)
Some of the wins for todays passive testing:
🟡 Known open issues (as of EOD 2024-12-02)
⏭️ Plan for tomorrow (2024-12-03)
|
Beta Was this translation helpful? Give feedback.
-
Hey all! 👋 Here is an update from todays passive testing round: ⏮️ What happened today (2024-12-03)
⏭️ Plan for tomorrow (2024-12-04)
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Hey! 👋 Here is the update from todays passive testing rounds: ⏮️ What happened today (2024-12-06)
🟡 Known open issues (as of EOD 2024-12-05)
⏭️ Plan for tomorrow (2024-12-06)
|
Beta Was this translation helpful? Give feedback.
-
Hey! 👋 Here the update from Fridays (2024-11-06) passive testing rounds: ⏮️ What happened today (2024-12-06)
🟡 Known open issues (as of EOD 2024-12-06)
⏭️ Plan for monday (2024-12-09)
|
Beta Was this translation helpful? Give feedback.
-
Hey everyone! 👋 Here is an update from todays (2024-11-09) passive testing rounds: ⏮️ What happened today (2024-12-09)
🟡 Known open issues (as of EOD 2024-12-09)
⏭️ Plan for monday (2024-12-10)
|
Beta Was this translation helpful? Give feedback.
-
Hey everyone! 👋 Here is an update from todays (2024-12-10) passive testing rounds: ⏮️ What happened today (2024-12-10)
🟡 Known open issues (as of EOD 2024-12-10)
⏭️ Plan for Wednesday (2024-12-11)
|
Beta Was this translation helpful? Give feedback.
-
filecoin-project/go-f3#213
Beta Was this translation helpful? Give feedback.
All reactions