`cloudflare` feature: hrana streams are never closed
Los mantenedores suelen responder en 11 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
Lee libsql/src/hrana/stream.rs y compara la condición de compilación de la implementación de Drop de RawStream con la configuración de la feature cloudflare. Confirma el comportamiento con default-features = false, features = ["cloudflare"] comprobando si al descartar un stream se envía una solicitud de cierre. La tarea está terminada cuando los streams abiertos con esa configuración se cierren al descartarlos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
With default-features = false, features = ["cloudflare"], the client never sends a close request for the hrana streams it opens. The Drop impl that sends it is compiled only with the remote feature.
Where
libsql/src/hrana/stream.rs. The code is identical in 0.9.30, 0.10.0 and current main:
#[cfg(feature = "remote")]
impl<T> Drop for RawStream<T>
where
T: HttpSend,
{
fn drop(&mut self) {
let baton = self.baton.get_mut().take();
if let Some(baton) = baton {
// ... sends StreamRequest::Close via self.client.oneshot(...)
}
}
}
With only cloudflare enabled, this impl does not exist, so dropping a RawStream sends nothing.
What we observed
Setup:
libsql0.9.30 (default-features = false, features = ["cloudflare"])worker0.6.7,wrangler dev4.105.0- local
sqld0.24.31 with default settings
We sent a few dozen sequential requests to the worker; each request runs several statements. Every query after that failed. sqld logged:
ERROR libsql_server::hrana::http: hrana server: Timed out while opening database connection
ERROR libsql_server::error: HTTP API: 429 Too Many Requests, DbCreateTimeout
The client got:
Hrana: `api error: `{"error":"Timed out while opening database connection"}``
After restarting sqld with --max-concurrent-connections 4096 --max-concurrent-requests 4096, the same requests (over 200 sequential ones) succeeded.
- Lenguaje dominante
- C
- Estrellas
- 17.3k
- Forks
- 557
- Merge medio
- 10 d 15 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 tursodatabase/libsql
-
bottomless: finished S3 upload tasks are never reaped, so sqld memory grows by ~10 KB per WAL batchPosiblemente ocupada @pavanmanishd la tomó hace 18 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
tursodatabase/libsql#2298 · 1 comentario ·
Los mantenedores suelen responder en 11 días
-
Rust local Row::get_value truncates embedded NUL TEXT and panics on malformed UTF-8 (0.9.30)Posiblemente ocupada @Sanjays2402 la tomó hace 29 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
tursodatabase/libsql#2285 ·
Los mantenedores suelen responder en 11 días
-
libsql-ffi: broken builds under Nix on macOSPosiblemente ocupada @frectonz la tomó hace 79 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
tursodatabase/libsql#2275 ·
Los mantenedores suelen responder en 11 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
tursodatabase/libsql#2226 ·
Los mantenedores suelen responder en 11 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
tursodatabase/libsql#1925 ·
Los mantenedores suelen responder en 11 días
Todos los issues de tursodatabase/libsql
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
hil-contract: a background hil_remote.py launch is killed at the Bash default 10 min timeoutAbiertofollow-up Prio 📌
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
area: test kind: bug preview-effort: small priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
[BUG] MXF: update_tid_lut() writes past tracks[32] onto nb_tracks, turning a file-supplied track id into the write offsetPosiblemente ocupada @pranayr710 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
CCExtractor/ccextractor#2457 ·
Los mantenedores suelen responder en 7 días