Hey there–
Sorry for the frustrations; I know how much time and energy you all put into Bubble and how much you rely on the platform.
It’s hard to give a specific response, because we are pretty much constantly fixing bugs + issues. It’s a big, complicated system, and little things are constantly breaking. Over the last week, there’s been at least four separate issues I’ve dealt with the could have caused some of the symptoms you guys are describing. Generally we try to fix them as fast as possible to minimize the # of people who are disrupted.
For the curious, here’s a few of the things that went wrong and what we did / are doing about them:
-An app was repeating a query over and over again that was loading massive amounts of data onto our servers, overwhelming our systems. We blocked the specific query, and are still investigating how it was possible. (This category of problem is fairly common: we have a lot of protections in place to make sure that any one app can’t use up all of Bubble’s system resources on shared plans, but Bubble is very flexible and people keep coming up with new variants that get around those protections.)
-Our CDN hit a temporary error fetching one of our key javascript files, and cached the error, causing it to serve it over and over again even though the file became accessible. I’ve tweaked the parameters for error caching to make sure it doesn’t do this, and am following up with our CDN provider to see if I can get the original error from them that caused this.
-Right now, operations that involve overwriting big chunks of apps (such as copying an app, or restoring an app) use a lot of database memory, because of a memory leak in the current version of the stored procedure language plugin we’re on. This has lead to intermittent issues with app data loading performance over the last couple weeks. I’m in the process of upgrading the stored procedure language to the latest version, which does not have this memory leak.
-We had a bug in our code that if you visited the editor when you were not logged in, it was popping up an error message instead of just redirecting you back to the homepage. Over the weekend, I changed the name of the cookie we use to store login sessions to deal with a cookie name conflict between bubble’s shared cluster and bubble’s dedicated clusters, so a bunch of people were logged out and hit this bug simultaneously.
Anyway, that’s not a comprehensive list – that’s more of a flavor. We generally push new code three to four times a day, about half of which is new functionality and half of which is bug fixes (mostly minor things that at most one or two users noticed, but occasionally more serious ones).
Re: @sagans99 's question, “I wonder if it matters what “pricing plan” one is one?”:
All Bubble pricing plans except for dedicated are equally likely to be affected by these issues. Dedicated plans are less likely to be affected, because:
-They’re on an isolated cluster from other users, so issues such as one app using up a ton of system resources can’t affect them
-Dedicated users control when new Bubble code is deployed to their cluster, so they can manage their clusters’ stability by not deploying new code during particularly critical periods.
As further context, we’ve had a lot of growth over the past 6 months – Bubble has a lot more users, and our users has a lot more active apps, than we did before. This is great, but keeping on top of the operations has been getting increasingly challenging. At this point, I’m pretty much full time on operational work, and Emmanuel spends about half his time fixing bugs and investigating issues, and half his time on building new functionality. So we’re shifting resources to prioritizing keeping what we have working and stable, vs expanding the platform. That said, we don’t want to bring new features to a halt either! (Especially the plugin system, which we plan to continue to roll out over the next few months)
Anyway I hope that helps explain how we’re thinking about / addressing these kind of issues…