Cache performs two gets on misses
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- performance
Línea de trabajo
Empieza rastreando CacheController.cached_request() y conditional_headers(), y después inspecciona los otros usos de self.cache.get mencionados en el issue. Reproduce un cache miss y revisa las pruebas existentes o el logging alrededor de estos puntos de entrada; done debe definirse como un comportamiento acordado para evitar un segundo get innecesario sin romper el manejo de conditional headers.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
We observe two cache.get() calls whenever we miss. The first attempt is made in CacheController.cached_request(). We see the "No cache entry available" in logs. However, we immediately see another cache.get() call after this. This seems to be because CacheController.conditional_headers() makes another call to self.cache.get().
This doesn't appear to be ideal, but I'm not sure what change to propose. I see some other usage of self.cache.get in the Controller as well. Since we don't rely on etag/last-modified headers, we may just use a custom Controller that has a condition_headers that simply returns {}, but raising here to see if there's any shared appreciation for trying to limit the number of get calls to make to the cache, or ideas for how otherwise to improve that.
- Lenguaje dominante
- Python
- Estrellas
- 505
- Forks
- 153
- Merge medio
- 5 d 6 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Sin Dockerfile ni 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 psf/cachecontrol
-
Cache Deserialization (part two) -- warning message incorrect?Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
psf/cachecontrol#209 · 5 comentarios ·
-
Race condition in send()Posiblemente ocupada @JulienPalard la tomó hace 148 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
psf/cachecontrol#424 · 1 comentario ·
-
HTTP 302 Found responses with Cache Headers not being cachedPosiblemente ocupada @cburroughs la tomó hace 281 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
psf/cachecontrol#384 · 18 comentarios ·
-
Head request is not cached even with cacheable_methods=("GET", HEAD") without a previous GETQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
psf/cachecontrol#337 · 6 comentarios ·
-
Investigate failure to load caches above `2^32 - 1` bytesQuizá libre de nuevo @woodruffw la tomó hace 854 días y no hay ningún pull request abierto. Abierto
psf/cachecontrol#336 · 4 comentarios · 1 reacción · 1 asignado ·
Todos los issues de psf/cachecontrol
Issues similares
-
customer-reported question
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Azure/azure-sdk-for-python#49548 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
btclib-org/btclib-wallet#409 ·
Los mantenedores suelen responder en 1 día
-
Phase 2 PSA Capability & Career Profile
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
bcgov/digital-journeys#2310 ·
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
fastmachinelearning/hls4ml#1582 ·
Los mantenedores suelen responder en 3 días
-
Sort modelsAbiertoenhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día