query whether hash / defrag transfer item content
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- backend, networking
Línea de trabajo
Start at the Store.hash and Store.defrag operations and trace their implementations across the posixfs, rest, sftp, s3, and rclone backends. Define and test the requested transfer query against the behavior in the table, including the algorithm-dependent sftp check-file probing; done means callers can determine whether item content will transfer.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
borg compact copies packs with Store.defrag. borgbackup/borg#10410 needs a Store.hash check of each source pack before the copy. Whether that check is cheap depends on the backend, and the caller cannot tell which case applies.
"Transfer" below means the item content goes over the network between the storage and the borgstore client.
| backend | hash |
defrag |
|---|---|---|
| posixfs | no transfer (local file read) | no transfer |
| rest | no transfer (computed by borg serve --rest) |
no transfer |
| sftp | no transfer if the server supports the check-file extension (OpenSSH does not; never for blake3), otherwise downloads the item |
downloads the source ranges, uploads the target |
| s3, rclone | downloads the item | downloads the source ranges, uploads the target |
Request: a way to ask the store whether an operation transfers item content, e.g.
Store.transfers_content(op: str, algorithm: str | None = None) -> bool # op: "hash", "defrag"
algorithm is needed because sftp check-file does not support blake3. For sftp hash, check_file_supported is only known after the first check-file attempt, so the query has to probe or return True until it is confirmed.
- Lenguaje dominante
- Python
- Estrellas
- 26
- Forks
- 9
- Merge medio
- 2 h 22 min
- PR fusionados (30 d)
- 12
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 borgbackup/borgstore
-
Let backends declare thread_safe and allow concurrent backend calls in Store (follow-up to #206)Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
borgbackup/borgstore#208 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
borgbackup/borgstore#201 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
stats: cache_disabled is False even when no cache backend is configuredPosiblemente ocupada @MuhammadBilal64 la tomó hace 7 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
borgbackup/borgstore#199 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
write-back cacheAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
borgbackup/borgstore#169 ·
Los mantenedores suelen responder en 1 día
-
credentials -> permissionsAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
borgbackup/borgstore#165 ·
Los mantenedores suelen responder en 1 día
Todos los issues de borgbackup/borgstore
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
task
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
danparshall/claude_researcher#87 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
datajoint/datajoint-python#1586 ·
Los mantenedores suelen responder en 1 día
-
1D intercept of length 1 is accepted as `fix_params` in population GLM with more than 1 unitPosiblemente ocupada @dhvani7014 la tomó hoy. Abiertobug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
flatironinstitute/nemos#642 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Broken links in the docsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
uniswap-python/uniswap-python#487 ·