Weekly Update, August 23rd, 2024 ☄️

Happy Friday, everyone; it’s time for our weekly update.

As you might now, we released Meteor 3.0.2 last week:

We are now working on a new patch, which will address some performance issues we noticed as more people migrate to Meteor 3.

In essence, there seems to be an over-reliance on Async Hooks/Async Local Storage which seems to be applying a lot of pressure on garbage collection in some scenarios, the code most affected by this seems to be in Mongo’s real-time logic, in our task queue and observers.

If you have experience on the subject and are willing to help, let us know.

We don’t recommend the use of Publish Composite right now as it seems to be making it worse.

If you are facing performance degradation in your app after migrating to Meteor 3, please report it here.

We also continue working on migrating our docs and content to Meteor 3, as of now docs.meteor.com already points to the new version. You can still access Meteor 2 docs at v2-docs.meteor.com.


Tasks and fixes for the next Meteor 3.0.3 release:

  • Investigate performance issues
  • Update docs link inside install.sh
  • Upgrade Cordova to the latest compatible versions
  • Investigate TLA not working again in Reify
  • Optimize async resource utilization in Mongo logic
  • Update to Node 20.17.x
  • Research auto-updating the meteor symlink once a new meteor-tool version is installed
  • Error: Meteor.userId can only be invoked in method calls or publications with Meteor.bindEnvironment
  • Subscription stopping after parameter change
  • Investigate error when installing package jam:method
  • Update the new available version message when running an app
  • Meteor 3 --open opens the browser before the app is started

Meteor 3.0.3 is expected to arrive in about two weeks.

Next Releases

  • Meteor 3.0.4 (Mid September, 2024)
  • Meteor 2.17 (Late-September, 2024)
6 Likes

We’ve seen a performance impact from upgrading to Meteor 3. What information would be helpful to add to the GitHub issue?

Some things that may help are the list of packages you are using, APM profiles, metrics about the event loop (also available in APM), database behavior, and anonymized code (main publications). If you want we can schedule a call to discuss about it. Thanks!