Large file upload interrupt error does not keep InterruptedException as cause
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 88/100
Línea de trabajo
Los dos throws que hay que cambiar son throw new B2LocalException("trouble", "interrupted exception"); en core/src/main/java/com/backblaze/b2/client/B2LargeFileStorer.java en las líneas 286 y 338, en storeFile() y storeParts(). Copia la sobrecarga con una causa que ya usa la rama ExecutionException unas líneas más arriba, pasando la InterruptedException capturada. Está listo cuando ambos throws conservan la InterruptedException como su causa y las pruebas existentes del módulo core siguen pasando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
When storeFile() or storeParts() is interrupted, the B2LocalException that is thrown does not carry the InterruptedException as its cause, so the stack trace of the interrupt is lost. The other B2LocalException throws in the same methods do pass the cause.
Where
core/src/main/java/com/backblaze/b2/client/B2LargeFileStorer.java:286 and :338: throw new B2LocalException("trouble", "interrupted exception"); (the ExecutionException branch at :283 and :334 passes cause).
Why it matters
Impact: Docs and messages (less diagnostic detail), loud. Severity: Low, because it only loses diagnostic detail, the error itself is still thrown, and it needs an interrupt (unusual).
How to check
Found by reading the code, not reproduced. Read the two throw statements and compare with the constructor overload used a few lines above, which takes a cause.
Version
Seen at v6.5.0. Present on the default branch: present.
- Lenguaje dominante
- Java
- Estrellas
- 103
- Forks
- 23
- Merge medio
- 5 d 8 h
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 Backblaze/b2-sdk-java
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Backblaze/b2-sdk-java#248 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Backblaze/b2-sdk-java#247 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Backblaze/b2-sdk-java#246 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Backblaze/b2-sdk-java#245 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Backblaze/b2-sdk-java#242 ·
Los mantenedores suelen responder en 3 días
Todos los issues de Backblaze/b2-sdk-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
IETF-Hackathon/pqc-certificates#351 ·
Los mantenedores suelen responder en 2 días
-
bug(core): skip_nodes.json is missing SELECT and PRE, causing Python and Java to insert separators into dropdown options and preformatted textPosiblemente ocupada @Bhumit267 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
ExceptionThrowShouldUseContext: NullPointerException on a catch block inside an annotation typePosiblemente ocupada @Carbon14-48 la tomó hoy. Abiertoapproved
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
checkstyle/checkstyle#22784 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día