Large file uploads do not send src_last_modified_millis like small uploads do

Aberta Para iniciantes
#248 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 3 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
java
Domínio
cloud

Direção de pesquisa

Comece em core/src/main/java/com/backblaze/b2/client/structures/B2StartLargeFileRequest.java, em buildFrom (por volta das linhas 125-157), e compare com o caminho de arquivos pequenos em core/src/main/java/com/backblaze/b2/client/B2StorageClientWebifierImpl.java (por volta das linhas 306-315). Verifique se os milissegundos da última modificação da fonte de conteúdo são copiados para o builder em arquivos grandes. Está concluído quando um upload grande a partir de um B2FileContentSource carrega src_last_modified_millis em suas informações de arquivo, igual ao comportamento de arquivos pequenos, com um teste que cubra isso.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Java
Estrelas
103
Forks
23
Merge médio
5d 8h
PRs com merge (30d)
3

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Backblaze/b2-sdk-java

Todas as issues de Backblaze/b2-sdk-java

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.