Document what the API does for a deleted destination
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- api, documentation
Direzione di ricerca
Inizia dalla pagina della documentazione per destinations / event delivery (la stessa pagina che #1109 ha corretto) e dagli issue referenziati #65, #121 e #1109 per il contesto. Aggiungi la tabella del comportamento verbatim alla documentazione e solleva la domanda aperta sul riuso degli ID come commento affinché un maintainer decida prima che venga documentata come intenzionale. Completo quando la tabella appare nella documentazione pubblicata e la domanda sul riuso degli ID ha una risposta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
How deletion behaves was decided in #65 and implemented in #121, but it is not written down anywhere a user or contributor would look. #1109 adds one paragraph to the event delivery page. This issue is to record the full behaviour as a decision, and to confirm the one part that was never discussed: reusing the ID.
Behaviour
A deleted destination keeps a record in the tenant store, marked deleted, for 7 days. Its events and attempts stay in the log store.
| Request | Before delete | After delete |
|---|---|---|
GET, PATCH, DELETE /tenants/:tenant_id/destinations/:destination_id, PUT …/enable, PUT …/disable |
200 | 404 destination not found |
GET …/destinations/:destination_id/attempts and …/attempts/:attempt_id |
200 | 404 destination not found (as of #1109) |
GET /tenants/:tenant_id/destinations |
lists it | does not list it |
GET /attempts?destination_id=…, GET /attempts/:attempt_id |
200 | 200, the history stays readable |
the same with include=destination |
destination object on each attempt |
no destination field |
GET /events?destination_id=…, GET /events/:event_id |
200 | 200 |
POST /retry with its destination_id |
202 | 404 destination not found (as of #1109) |
POST /tenants/:tenant_id/destinations with its id |
400 destination already exists |
201 |
Nothing changes when the record expires after 7 days: every row answers the same.
Events still queued for a deleted destination are acknowledged, not delivered and not logged (#65).
Reusing the ID
A destination can be created again with the ID of a deleted one, right after the delete or after the record expires. Attempts are stored by tenant and destination ID, so the new destination takes over the old one's history:
GET …/destinations/:destination_id/attemptslists the attempts made to the deleted destination.include=destinationon those attempts returns the new destination.POST /retryfor an old event sends it to the new destination, if its topics and filter match.
This only affects a caller that passes its own id and reuses it; generated IDs are not reused.
To do
- Confirm reusing the ID is intended, or decide what should happen instead (reject the ID while the deleted record exists, or tie attempts to one incarnation of a destination).
- Add the table above to the docs (destinations or event delivery page).
- Lingua principale
- Go
- Stelle
- 1.1k
- Fork
- 70
- Merge medio
- 1g 3h
- PR unite (30g)
- 50
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di hookdeck/outpost
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
hookdeck/outpost#1117 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
PostgreSQL log store returns 500 for a NUL byte or invalid UTF-8 in a text parameterForse già presa @Mohil-Ahuja l’ha presa 3 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di hookdeck/outpost
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
agent-review-finding bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
jordansmall/spindrift#5281 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
github/github-mcp-server#3489 ·
I maintainer di solito rispondono entro 4 giorni
-
L: java:gradle L: java:maven L: ruby:bundler T: bug 🐞
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
dependabot/dependabot-core#16547 ·
I maintainer di solito rispondono entro 1 giorno
-
Docs/examples still create key ranges in ascending order, which fails in 3.1.0 (follow-up to #1754)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
pg-sharding/spqr#3083 ·
I maintainer di solito rispondono entro 1 giorno