Large file uploads do not send src_last_modified_millis like small uploads do

Aperta Adatta ai principianti
#248 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 3 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
java
Ambito
cloud

Direzione di ricerca

Inizia da core/src/main/java/com/backblaze/b2/client/structures/B2StartLargeFileRequest.java, in buildFrom (intorno alle righe 125-157), e confrontalo con il percorso dei file piccoli in core/src/main/java/com/backblaze/b2/client/B2StorageClientWebifierImpl.java (intorno alle righe 306-315). Verifica se i millisecondi dell'ultima modifica della sorgente di contenuto vengono copiati nel builder per i file grandi. È completato quando un caricamento di file grande da un B2FileContentSource porta src_last_modified_millis nelle sue informazioni sul file, come avviene per i file piccoli, con un test che lo copra.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

What happens

For a small file, the SDK sends the content source's last-modified time as X-Bz-Info-src_last_modified_millis, and the README says the SDK adds this field on uploads. For a large file, B2StartLargeFileRequest.buildFrom copies the file info, sha1 and other settings but never reads the source's last-modified time, so the field is missing on large files uploaded through uploadLargeFile.

Where

core/src/main/java/com/backblaze/b2/client/structures/B2StartLargeFileRequest.java:125-157 (buildFrom); compare core/src/main/java/com/backblaze/b2/client/B2StorageClientWebifierImpl.java:306-315 (small file path) and README.md:36.

Why it matters

Impact: Wrong request or result (metadata silently missing), silent. Severity: High, because it happens on the normal path for every large upload whose content source provides a last-modified time, and the only workaround is setting src_last_modified_millis by hand through setCustomFields.

How to check

Found by reading the code, not reproduced. Upload a large file from a B2FileContentSource and read its file info: by reading, src_last_modified_millis is only set by the small-file path. In buildFrom, calling orig.getContentSource().getSrcLastModifiedMillisOrNull() and builder.setSrcLastModifiedMillisOrNull(...) when non-null would match the small-file behaviour.

Version

Seen at v6.5.0. Present on the default branch: present.

Lingua principale
Java
Stelle
103
Fork
23
Merge medio
5g 8h
PR unite (30g)
3

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Backblaze/b2-sdk-java

Tutte le issue di Backblaze/b2-sdk-java

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.