Review client classifies a refused connection as an unknown outcome
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 85/100
Línea de trabajo
Empieza con ReviewClientError::mutation_class en crates/registry-review-client/src/error.rs y compáralo con CaseworkClientError::is_outcome_unknown / mutation_class en crates/registry-casework-client/src/error.rs. Haz que Transport { kind: TransportKind::Connect } se clasifique como Deterministic, mientras que los timeouts y los intercambios rotos siguen siendo Ambiguous, y añade después una prueba de frontera en crates/registry-review-client/tests/http_boundary.rs que rechace la conexión y verifique la clase. Está terminado cuando esa prueba pase y el comentario de documentación de ReviewMutationErrorClass enuncie la regla de la conexión rechazada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
registry-review-client and the Casework client disagree about a refused connection.
ReviewClientError::mutation_class(crates/registry-review-client/src/error.rs) returnsAmbiguousfor everyTransporterror, includingTransportKind::Connect.CaseworkClientError::is_outcome_unknownandmutation_class(crates/registry-casework-client/src/error.rs) returnDeterministicforTransportKind::Connect, because a connection that was never established cannot have carried the request. The BReg, Messaging and Scheduling clients'is_outcome_unknownmake the same call, and that predicate is what the shared keyed-mutation retry inregistry-platform-httputilconsults.
ReviewMutationErrorClass is re-exported from registry-stack-client, so a caller using the review client directly is told that a refused connection may have committed. The recovery that follows (resend under the same key) is safe, so this is an inconsistency rather than a correctness bug, but the two clients now document different meanings for the same class.
Found while reviewing #1933, which deliberately left create_or_recover_review_request and cancel_review_request outside the automatic resend (one exchange each).
Proposal
Make ReviewClientError::mutation_class return Deterministic for Transport { kind: TransportKind::Connect }, keep Ambiguous for timeouts and broken exchanges, and add a boundary test beside the existing ones in crates/registry-review-client/tests/http_boundary.rs that refuses the connection and asserts the class.
Done when
- A refused connection classifies the same way in the review client as in the BReg, Casework, Messaging and Scheduling clients.
- The review client's documentation of
ReviewMutationErrorClassstates that rule.
- Lenguaje dominante
- Rust
- Estrellas
- 2
- Forks
- 0
- Merge medio
- 10 h 32 min
- PR fusionados (30 d)
- 269
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de registrystack/registry-stack
-
area:docs documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
registrystack/registry-stack#2253 ·
Los mantenedores suelen responder en 1 día
-
area:coordinator bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
registrystack/registry-stack#2252 ·
Los mantenedores suelen responder en 1 día
-
area:release bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
registrystack/registry-stack#2248 ·
Los mantenedores suelen responder en 1 día
-
BReg docs: the WASM upgrade step points at a compatibility member that explain no longer emitsAbiertoarea:breg documentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
registrystack/registry-stack#2233 ·
Los mantenedores suelen responder en 1 día
-
area:breg bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
registrystack/registry-stack#2231 ·
Los mantenedores suelen responder en 1 día
Todos los issues de registrystack/registry-stack
Issues similares
-
proxy: include denial_category in the "proxy request denied" log linePosiblemente ocupada @sreyas-endor la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
nolabs-ai/nono#2172 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
metasequoiaime/msime#9113 ·
Los mantenedores suelen responder en 1 día
-
area:desktop priority:p2 type:chore
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
area: supply-chain
Dificultad 1/5 Menos de una hora Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100