Better retry of b2_finish_large_file

Ouverte
#41 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é
3/5
Temps estimé
1-2 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
java
Domaine
api, backend

Piste de recherche

Start by locating the SDK method for b2_finish_large_file and the related b2_get_file_info call. Trace how the SDK handles a 400 response and check the existing tests for large file completion and API errors. Done means a 400 triggers a file info check that reports whether finishing succeeded.

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

Description

enhancement help wanted

There has been a problem with finishing large files. Sometimes the response from b2_finish_large_file is lost, which can happen because of a request timeout or broken connection. When that happens, the client can't tell whether the file was finished or not. Trying to finish the file again will return a `400 Bad Request' because the file is already finished.

Recently, a race condition has been fixed in the B2 service. Now, if there is a request to finish a file in progress, another call to b2_finish_large_file guarantees not to return a 400 until that request completes. Now, after you get a 400 back when trying to finish a file, you can call b2_get_file_info and get an accurate answer as to whether the file was finished.

Now, the SDK needs to be extended to check whether finishing a file succeeded if a 400 is returned from b2_finish_large_file.

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.