`load_schema` race
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 48/100
Rechercherichtung
Beginne in tarantool/connection.py bei den verlinkten Zeilen um 1409–1410, folge dann load_schema in tarantool/schema.py und fetch_index_all beim fehlschlagenden Aufruf. Reproduziere den Fall der gleichzeitigen Erstellung von Tarantool-Objekten und untersuche, wie die beiden nicht-transaktionalen Abrufe miteinander interagieren. Als erledigt gilt die Aufgabe, wenn load_schema keine Index-Ausnahme mehr auslöst und ein konsistentes Schema verarbeitet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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]])
- Vorherrschende Sprache
- Python
- Sterne
- 108
- Forks
- 51
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus tarantool/tarantool-python
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
tarantool/tarantool-python#325 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
tarantool/tarantool-python#340 ·
-
3sp feature teamE
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
tarantool/tarantool-python#309 · 1 Kommentar ·
-
customer Database API
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 45/100
tarantool/tarantool-python#307 · 1 Kommentar ·
-
1sp teamE v2
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
tarantool/tarantool-python#305 ·
Alle Issues in tarantool/tarantool-python
Ähnliche Issues
-
first
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
AcademySoftwareFoundation/rmtc#54 · 1 Kommentar ·
-
feature/cohorts feature/feature-flags team/feature-flags
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag
-
License examples/ as MITEvtl. vergeben @PGrayCS hat das heute übernommen. Offendocumentation enhancement example good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
speedyk-005/yasbd-lib#383 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
interactions-py/interactions.py#1827 ·
-
Managed start can fail when OpenVMM reads its control capability before NVX writes itEvtl. vergeben @ppenna hat das heute übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag