Large file upload interrupt error does not keep InterruptedException as cause

Ouverte Adaptée aux débutants
#236 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 3 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
88/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
java
Domaine
backend

Piste de recherche

Les deux throw à modifier sont throw new B2LocalException("trouble", "interrupted exception"); dans core/src/main/java/com/backblaze/b2/client/B2LargeFileStorer.java aux lignes 286 et 338, dans storeFile() et storeParts(). Copie la surcharge avec une cause que la branche ExecutionException, quelques lignes plus haut, utilise déjà, en transmettant l'InterruptedException interceptée. C'est terminé lorsque les deux throw conservent l'InterruptedException comme cause et que les tests existants du module core passent toujours.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Java
Étoiles
103
Forks
23
Merge moyen
5 j 8 h
PR mergées (30 j)
3

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Backblaze/b2-sdk-java

Toutes les issues de Backblaze/b2-sdk-java

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.