Backfill `organisation_id` on existing audit logs
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 36/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 7.1k
- Forks
- 603
- Merge médio
- 3d 8h
- PRs com merge (30d)
- 102
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Flagsmith/flagsmith
-
Expose whether an organisation is blocked for API usageTalvez já em andamento @PiUnknown assumiu há 27 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Flagsmith/flagsmith#8773 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Environment colors mismatch in audit log viewTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Flagsmith/flagsmith#8681 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
influx_query_manager doesn't catch ApiException, so Influx error responses 500Talvez já em andamento @SAY-5 assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Flagsmith/flagsmith#8510 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Sales dashboard: download_org_data 500s with "Object of type generator is not JSON serializable"Talvez já em andamento @Iflaqbhat assumiu há 46 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia
Todas as issues de Flagsmith/flagsmith
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
ida-arbeitszeit/workers-control#1578 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
aws-samples/sample-per-model-bedrock#898 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
intake mcp-intake needs-human-review priority:high
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Ikalus1988/MisakaNet#5041 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 86/100