Backfill `organisation_id` on existing audit logs
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 36/100
Rechercherichtung
Start by reading #8888 and tracing the audit log model, organisation-scoped list and filter queries, webhooks, and integrations described in the issue. Identify the existing migration and backfill patterns, then assess how the backfill can run while writes, listing, search, and deliveries continue. Done means the acceptance criteria hold: every relevant API log has its organisation, queries are no slower, and results and deliveries are unchanged.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
After #8888, we gain a nullable AuditLog.organisation field for organisation-level audit logs.
Existing project and environment logs keep organisation_id = NULL, so every organisation-scoped read still has to look up the organisation through project:
organisation_id = X OR project.organisation_id = Xin the organisation and all-logs endpoints, and in the organisation filter. In/api/v1/audit/, this leads to two OR'd joins, which poses a duplicate row risk in results.- fallback chains through project in audit log webhooks and integrations.
Besides that, users see organisation: null in API responses for most logs.
We propose to backfill the field value for existing audit logs, which will gain us:
- One way to scope by organisation, index-friendly queries, and impler webhook + integrations code:
WHERE organisation_id = Xeverywhere instead of OR / joins / project fallback logic. Also, no duplicate row risk in/api/v1/audit/. - A clear meaning for "organisation-level":
project_id IS NULL AND environment_id IS NULL, with no reliance onNULLmeaning something by convention. - A complete API: organisation is set on every log that belongs to an organisation.
- Easier future work: organisation-wide features such as retention, export and analytics can rely on a single column.
Acceptance criteria
- Every audit log that belongs to a project or environment shows its organisation in the API (
organisationis notnull), including logs created before #8888. - The organisation audit log list is faster than existing p95 of 900ms, or at least no slower.
- Users see no impact while the backfill runs: audit logs keep being written and listed, and search keeps working.
- The organisation audit log shows exactly the same logs as before the backfill: none missing, none duplicated, and audit log webhooks and integrations are delivered exactly as before.
- Vorherrschende Sprache
- Python
- Sterne
- 7.1k
- Forks
- 603
- Ø Merge
- 3 T. 8 Std.
- Gemergte PRs (30 T.)
- 102
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Flagsmith/flagsmith
-
Expose whether an organisation is blocked for API usageEvtl. vergeben @PiUnknown hat das vor 27 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Flagsmith/flagsmith#8773 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
Environment colors mismatch in audit log viewEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Flagsmith/flagsmith#8681 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
influx_query_manager doesn't catch ApiException, so Influx error responses 500Evtl. vergeben @SAY-5 hat das vor 1 Tag übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Flagsmith/flagsmith#8510 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Sales dashboard: download_org_data 500s with "Object of type generator is not JSON serializable"Evtl. vergeben @Iflaqbhat hat das vor 46 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in Flagsmith/flagsmith
Ähnliche Issues
-
agents nolte-linux security skills
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
nolte/claude-shared#732 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 2 Tagen
-
[Bug] Source archive filter: dry run excludes SystemVerilog (.sv) files with no preflight warningOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
FinanceFlash/unvibecode#906 ·
Maintainer antworten meist innerhalb von 1 Tag