The params of `COM_STMT_EXECUTE` may not be shown in `tiproxy_traffic_replay.fail`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne damit, nachzuverfolgen, wie COM_STMT_PREPARE- und COM_STMT_EXECUTE-Pakete während der Traffic-Wiedergabe geparst werden, wobei der Fokus auf paramNum, paramTypes und der Wiederherstellung des Session-Zustands liegt. Reproduziere den Bericht, indem du ein parametrisiertes Statement aufzeichnest, es nach dem Löschen einer Datenbank wiedergibst und sample_stmt in tiproxy_traffic_replay.fail überprüfst. Erledigt ist die Aufgabe, wenn die aufgezeichneten Parameter korrekt angezeigt werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)
- Prepare a statement and then capture traffic
- Execute the statement with parameters
- Stop capture and replay with errors (such as replay after dropping the database)
- Check the
sample_stmtin the tabletiproxy_traffic_replay.fail
2. What did you expect to see? (Required)
The parameters are correct
3. What did you see instead (Required)
The parameter is nil.
Reason:
paramNum is contained in the ComStmtPrepare but paramTypes is contained in the first ComStmtExecute (with newParamBoundFlag==1). TiDB parses the paramTypes by the paramNum and then stores it.
If the prepared statement is not executed before and is parsed from the session states, the paramTypes is empty. Besides, the paramNum is not in the session states. When the first ComStmtExecute comes, TiProxy is unable to parse paramTypes because it doesn't know the paramNum.
4. What is your version? (Required)
v1.3.0
- Vorherrschende Sprache
- Go
- Sterne
- 73
- Forks
- 40
- Ø Merge
- 4 Std. 14 Min.
- Gemergte PRs (30 T.)
- 9
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
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 pingcap/tiproxy
-
migration:bb7133-tiproxy
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
migration:bb7133-tiproxy
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Rust-dataplane] Migration backend handshake must preserve CONNECT_WITH_DB when current-db emptyOffenmigration:bb7133-tiproxy
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Rust-dataplane] Migration must not force CONNECT_ATTRS on backend lacking it with empty attrsOffenmigration:bb7133-tiproxy
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
Maintainer antworten meist innerhalb von 1 Tag
-
migration:bb7133-tiproxy
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in pingcap/tiproxy
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
prime-radiant-inc/evener#5028 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
[BUG] v4.2.9 PostgreSQL 启动迁移失败:DROP INDEX CURRENT_SCHEMA() 语法错误Evtl. vergeben @renovate hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
OpenListTeam/OpenList#3267 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
openpubkey/opkssh#670 ·
Maintainer antworten meist innerhalb von 1 Tag