STORAGE_LIMIT_EXCEEDED bei Salesforce-Deployments beheben

Die Ziel-Org hat ihr Daten- oder Dateispeicherlimit erreicht, sodass das Deployment die benötigten Datensätze nicht einfügen kann.

Tritt auf bei: DML zur Laufzeit, meist beim Apex-Test-Setup in einer kleinen Sandbox

Was das bedeutet

STORAGE_LIMIT_EXCEEDED bedeutet, dass die Ziel-Org, meist eine Developer- oder Sandbox-Org mit kleinem Speicherkontingent, voll ist. Die meisten Deployments, die darauf stoßen, werden durch Apex-Test-Setup-Daten blockiert, die Datensätze in eine Org einfügen wollen, die keinen Platz mehr hat, nicht durch die Metadaten des Deployments selbst.

Salesforce führt Datenspeicher und Dateispeicher als getrennte Kontingente, sodass eine volle Org entweder durch eine große Anzahl von Datensätzen oder eine kleinere Anzahl von Datensätzen mit großen angehängten Dateien verursacht werden kann; der Fehlertext macht nicht immer deutlich, welches davon erschöpft ist.

Diagnose

Häufige Ursachen

Sandbox-Speicherkontingent ist klein und fast voll
Developer- und einige Sandbox-Org-Typen werden mit begrenztem Speicher ausgeliefert, und im Laufe der Zeit angesammelte Daten lassen wenig Spielraum für Testläufe.
Große Dateien oder Anhänge aus wiederholten Testläufen
Von CI-Läufen oder manuellem Testen erstellte Dateien oder Anhänge sammeln sich an und werden nie bereinigt.
Debug-Logs und ungenutzte Daten unbereinigt gelassen
Alte Debug-Logs, Reports oder Big-Object-Datensätze verbrauchen Speicher, ohne dass es jemand bemerkt, bis ein Deployment fehlschlägt.

Die Lösung

  1. Ungenutzte Daten und Dateien bereinigen
    Löschen Sie alte Anhänge, Dateien und Debug-Logs aus der Ziel-Org, um Speicher freizugeben.
  2. Scratch Orgs für die CI-Validierung verwenden
    Führen Sie Testdeployments gegen frische Scratch Orgs aus, statt gegen eine gemeinsam genutzte Sandbox, die im Laufe der Zeit Speicher ansammelt.
  3. Eine Erhöhung des Speicherlimits beantragen
    Wenn die Org an ihrem Plan-Limit ist und Bereinigung nicht ausreicht, wenden Sie sich an Salesforce, um das Kontingent zu erhöhen.
In der Praxis

Wie Serpent das verhindert

Serpent AI führt die CI-Validierung standardmäßig gegen Scratch Orgs aus, sodass sich der Speicher nie so aufstaut wie in einer langlebigen gemeinsam genutzten Sandbox. Siehe die Bibliothek der Salesforce-Deploymentfehler.

Release-Dashboard mit Konfliktwarnungen in Serpent

Prävention

Testgenerierte Dateien nach jedem CI-Lauf automatisch bereinigen
Löschen Sie ContentVersion- und Attachment-Datensätze, die von einem automatisierten Testlauf erstellt wurden, als letzten Schritt der Pipeline, nicht manuell, nachdem Speicher zum Problem geworden ist.
Standardmäßig Scratch Orgs für alles Vorübergehende verwenden
Reservieren Sie persistente Sandboxes für Arbeit, die wirklich bestehen bleiben muss, und verwenden Sie wegwerfbare Scratch Orgs für die CI-Validierung, damit Speicher nie Zeit hat, sich anzusammeln.
Speichernutzung auf langlebigen Sandboxes proaktiv überwachen
Prüfen Sie regelmäßig die Prozentsätze für Daten- und Dateispeicher unter Setup, Storage Usage, für gemeinsam genutzte Sandboxes, bevor ein Deployment die Obergrenze für Sie entdeckt.
Häufige Fragen

STORAGE_LIMIT_EXCEEDED, beantwortet

Kann dieser Fehler auch in der Produktion auftreten?
Das ist selten, da Produktions-Orgs typischerweise deutlich mehr Speicher haben, aber es kann bei kleineren Editionen mit starker Nutzung von Anhängen oder Big Objects vorkommen.
Gibt das Leeren des Papierkorbs sofort Speicher frei?
Ja, das dauerhafte Löschen von Datensätzen aus dem Papierkorb gibt sofort Datenspeicher frei, und es ist oft der schnellste Weg, in einer fast vollen Sandbox Platz zurückzugewinnen.
Setzen Sandbox-Refreshes die Speichernutzung auf das aktuelle Produktionsniveau zurück?
Ja. Ein Sandbox-Refresh ersetzt die Daten der Sandbox durch eine frische Kopie ihrer Quelle und setzt angesammelte Testdaten und Speichernutzung auf das zurück, was die Quell-Org zum Zeitpunkt des Refresh enthält.

Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.

In unter 15 Minuten eingerichtet. Keine DevOps-Einstellung nötig.

Neugierig auf schnelleres Shipping, bevor Sie einsteigen? Sprechen wir

Unverbindlich.