tldr; Namespace Limits don’t work in 2GP (second generation packaging) and likely won’t for the foreseeable future.
- 11/23/2020: we’ve been told this has been escalated to some execs within the AppExchange program. A big thank-you to our friends at CodeScience for throwing their weight behind this issue. #alumnibenefits
- 11/25/2020: we’ve been asked by Salesforce for business impact statements and have provided those, however still no ETA.
- 12/03/2020: Salesforce has published a known issue for this bug. Click the “This Issue Affects Me Button”!
Ok, this is a bit of a rant, but hoping this can save other’s some headache.
We recently built a 2GP package for an ISV client. It passed security review in April, 2020 shortly after 2GP became supported for Security Review. It was installed by customers shortly after and ran great. In September 2020, the package was installed for a new subscriber who already had a lot of complex code on the Opportunity object. Their code ran fine, never exceeding namespace limits on its own, but the moment this package was added to the mix, they experienced governor limit exceptions.
After some troubleshooting we discovered that the debug logs never showed any
LIMITS_USAGE for the package’s namespace, but did show limits for other packages installed in the org. So, we submitted a case to Salesforce support. 2 months later, Salesforce has confirmed this is a bug. Worse yet, there’s no resolution ETA, and they haven’t
published a Known Issue or updated docs.
Until this, we felt 2GP was a usable option for new ISV applications since afterall, Salesforce finally supported Security Review for 2GP packages. One of the core benefits of a security reviewed app is that the app gets its own governor limits isolated to its namespace. Without this key feature, especially for larger, more complex apps, we can no longer recommend 2GP, for any application. At all.
Stuff breaks. That’s just the nature of technology. And Salesforce is still the best enterprise platform, bar none. But what really annoys me with this issue is that Salesforce isn’t embracing their # 1 value (“Trust”) by
not publishing a Known Issue or updating documentation about this limitation of 2GP. And when it comes to new features, we’re witnessing this lack of transparency more often than I’d like.
So, that’s all for now. I’ll post updates as we receive them from Salesforce.
If you’re an ISV looking to build the greatest app since sliced bread, and want to work with the very best to help you design, build, and launch it, get in touch with us below!