tarantool / tarantool/tarantool-python
`load_schema` race
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 108
- Forks
- 51
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 1
Descripción
These lines result in an index exception, trying to connect to the instance that actively applies DDL due to the race with the tarantool object creation:
As these two fetches are non-transactional, the second one can return an index for space that is not fetched at the first fetch, resulting in:
Traceback (most recent call last):
File "/python/lib/python3.11/site-packages/tarantool/connection.py", line 1097, in connect
self.load_schema()
File "/python/lib/python3.11/site-packages/tarantool/connection.py", line 1316, in load_schema
self.schema.fetch_index_all()
File "/python/lib/python3.11/site-packages/tarantool/schema.py", line 377, in fetch_index_all
SchemaIndex(row, self.schema[row[0]])
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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.
Línea de trabajo
Comienza en tarantool/connection.py, en las líneas enlazadas alrededor de 1409-1410; después sigue load_schema hasta tarantool/schema.py y fetch_index_all en la llamada que falla. Reproduce el caso de creación concurrente de objetos de Tarantool e inspecciona cómo interactúan las dos consultas no transaccionales. Se considera terminado cuando load_schema ya no lanza una excepción de índice y gestiona un esquema coherente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- database
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100