Mysql: Erreur intermittente - sql : le pilote ne prend pas en charge le niveau d'isolement autre que celui par défaut

Créé le 6 déc. 2017  ·  17Commentaires  ·  Source: go-sql-driver/mysql

Description du problème

Nous poussons en moyenne environ 5 000 QPS et nous voyons des poussées d'erreurs intermittentes lorsque nous essayons de commencer une transaction. Nous avons vu cette erreur se produire quelques centaines de milliers de fois au cours des dernières 24 heures. Il apparaîtra puis se résoudra généralement dans l'heure si nous ne l'attrapons pas en premier. Cela se produit sur plusieurs gestionnaires, et nous avons encore des millions de transactions commençant dans la même heure. Nous sommes également en mesure d'utiliser avec succès d'autres niveaux d'isolement la plupart du temps.

Il semble qu'il y ait une condition de concurrence quelque part ou qu'une autre erreur transitoire se produise qui déclenche la mauvaise valeur d'erreur. Je ne peux pas le reproduire de manière fiable, mais cela se produit depuis quelques semaines sur plusieurs versions du pilote.

Le problème a commencé lorsque nous avons commencé à transmettre explicitement sql.TxOptions . Nous avons atténué le problème en envoyant nil lorsque nous utilisons REPEATABLE READ , car il s'agit du pilote par défaut et représente > 99% de notre volume de transactions.

Je ne suis pas très familier avec l'interaction du pilote stdlib <->, mais je suis heureux d'aider au débogage là où je peux aider. Merci pour un super chauffeur !

Exemple de code

tx, err := db.BeginTx(c, &sql.TxOptions{
    Isolation: sql.LevelRepeatableRead,
})

Journal des erreurs

sql: driver does not support non-default isolation level

Configuration

Version du pilote (ou git SHA) :
9181e3a86a19bacd63e68d43ae8b7b36320d8092
fondu21009797158e7b79e04c340118a9220c6f9e

Version Go : exécutez go version dans votre console
1.9.2

Version du serveur : par exemple MySQL 5.6, MariaDB 10.0.20
5.7.20

Système d'exploitation du serveur : par exemple Debian 8.1 (Jessie), Windows 10
Debian 8.9

cc @kardianos @josephbergevin

Commentaire le plus utile

J'ai la même expérience que @wayneashleyberry. Nous avons commencé à remarquer l'erreur après être passé à la 1.10. Changer la dépendance en master fonctionne, mais nous aimerions revenir à une version stable dès que possible.

Merci!

Tous les 17 commentaires

Ce pilote doit implémenter https://godoc.org/database/sql/driver#ConnBeginTx pour prendre en charge des niveaux d'isolement autres que ceux par défaut.

@kardianos Cela est pris en charge par cette bibliothèque et cela fonctionne la plupart du temps. Ce problème concerne une erreur intermittente lors de l'utilisation des options d'isolation.

Pouvez-vous tester avec Go1.10 ? Une bêta sera probablement coupée aujourd'hui ou demain. Ou tester depuis Go master ?

Je ne sais vraiment pas pourquoi ou comment cela pourrait arriver par intermittence.

Si vous ne pouvez pas tester Go1.10, vous pouvez également simplement vendre les packages "database/sql/..." et il remplacera les packages stdlib.

Oui, nous pouvons exécuter des tests avec le nouveau code database/sql , que ce soit via le fournisseur ou en testant la version bêta. Je suis assez confiant que nous avons également rencontré, https://github.com/golang/go/issues/22976 , nous sommes donc motivés pour obtenir ces changements dès que possible.

Hmm, aussi, avez-vous un canari qui court avec le détecteur de course allumé ?

Non, mais je pourrais essayer ça et espérer que ça se déclenche.

Je reçois également cette erreur, mais systématiquement. Il semble que la méthode database/sql/driver.ConnBeginTx() requise ne soit implémentée que lors de la construction avec Go 1.8 ?

@jmalloc Bien sûr. BeginTx est la nouvelle API de Go 1.8.
Une erreur cohérente est votre problème de configuration et n'est pas lié à ce problème.

@derekperkins
En grappant, votre message d'erreur vient d'ici.
https://github.com/golang/go/blob/b9dca1b165fad8d8ad8fcd47cfa7bf0d5ae60c63/src/database/sql/ctxutil.go#L113

Souhaitez-vous ajouter cette ligne de journal avant la ligne ?

log.Printf("%T: %+v", ci, ci)

Lorsque j'ajoute cette journalisation, j'obtiens ceci :

2018/03/21 12:47:37 *mysql.mysqlConn: &{buf:{buf:[5 0 0 0 25 3 0 0 0 3 100 101 102 20 104 101 114 109 101 115 95 116 101 115 116 95 52 55 100 55 48 97 53 101 2 97 107 8 97 112 105 95 107 101 121 115 2 105 100 2 105 100 12 63 0 11 0 0 0 3 35 66 0 0 0 78 0 0 3 3 100 101 102 20 104 101 114 109 101 115 95 116 101 115 116 95 52 55 100 55 48 97 53 101 2 97 107 8 97 112 105 95 107 101 121 115 13 97 112 105 95 99 108 105 101 110 116 95 105 100 13 97 112 105 95 99 108 105 101 110 116 95 105 100 12 63 0 11 0 0 0 3 41 80 0 0 0 66 0 0 4 3 100 101 102 20 104 101 114 109 101 115 95 116 101 115 116 95 52 55 100 55 48 97 53 101 2 97 107 8 97 112 105 95 107 101 121 115 7 97 112 105 95 107 101 121 7 97 112 105 95 107 101 121 12 45 0 144 0 0 0 253 1 16 0 0 0 74 0 0 5 3 100 101 102 20 104 101 114 109 101 115 95 116 101 115 116 95 52 55 100 55 48 97 53 101 2 97 107 8 97 112 105 95 107 101 121 115 11 100 101 115 99 114 105 112 116 105 111 110 11 100 101 115 99 114 105 112 116 105 111 110 12 45 0 0 8 0 0 253 1 16 0 0 0 72 0 0 6 3 100 101 102 20 104 101 114 109 101 115 95 116 101 115 116 95 52 55 100 55 48 97 53 101 2 97 107 8 97 112 105 95 107 101 121 115 10 99 114 101 97 116 101 100 95 97 116 10 99 114 101 97 116 101 100 95 97 116 12 63 0 23 0 0 0 7 129 4 3 0 0 72 0 0 7 3 100 101 102 20 104 101 114 109 101 115 95 116 101 115 116 95 52 55 100 55 48 97 53 101 2 97 107 8 97 112 105 95 107 101 121 115 10 100 101 108 101 116 101 100 95 97 116 10 100 101 108 101 116 101 100 95 97 116 12 63 0 23 0 0 0 7 128 0 3 0 0 5 0 0 8 254 0 0 1 0 112 0 0 9 0 128 2 0 0 0 2 0 0 0 36 57 50 51 99 48 52 53 49 45 50 100 50 55 45 49 49 101 56 45 57 48 56 98 45 48 50 52 50 97 99 49 50 48 48 48 52 52 84 101 115 116 68 101 108 97 121 68 101 102 101 114 114 101 100 69 109 97 105 108 47 112 97 114 97 108 108 101 108 47 100 101 108 97 121 95 100 101 102 101 114 114 101 100 95 101 109 97 105 108 11 226 7 3 21 16 47 41 112 231 7 0 5 0 0 10 254 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] nc:0xc4202dc110 idx:581 length:0 timeout:0} netConn:0xc4202dc110 affectedRows:1 insertId:2 cfg:0xc4202cc0c0 maxAllowedPacket:4194303 maxWriteSize:4194303 writeTimeout:0 flags:65535 status:1 sequence:1 parseTime:true strict:false}

Je devrais noter, au cas où d'autres rencontreraient cela, qu'il s'agissait d'un package vendu avec dep . Il a récupéré la dernière version, v1.3 (commit a0583e0) du 1er décembre 2016 .

J'ai ensuite ajouté une contrainte pour que dep utilise master :

[[constraint]]
  name = "github.com/go-sql-driver/mysql"
  branch = "master"

Après avoir mis à jour les dépendances, je n'obtiens plus sql: driver does not support non-default isolation level en essayant de définir le niveau d'isolement d'une transaction avec go1.10. Au lieu de cela, j'obtiens Error 1568: Transaction characteristics can't be changed while a transaction is in progress , mais au moins c'est un progrès. Je travaille à comprendre ce qui se passe avec ça.

Il est peut-être temps de taguer une nouvelle version ?

@dcormier ce n'est pas complètement lié à ce problème.

Pour autant que je sache, le passage à la branche master a résolu ce problème pour moi. Donc je dirais aussi qu'il est temps pour une nouvelle version :)

 [[constraint]]
   name = "github.com/go-sql-driver/mysql"
-  version = "1.3.0"
+  branch = "master"

J'ai la même expérience que @wayneashleyberry. Nous avons commencé à remarquer l'erreur après être passé à la 1.10. Changer la dépendance en master fonctionne, mais nous aimerions revenir à une version stable dès que possible.

Merci!

Il y a un PR de suivi pour la prochaine version si quelqu'un est intéressé.

https://github.com/go-sql-driver/mysql/pull/809

FWIW, nous rencontrons toujours le problème avec Go 1.11 et la version du pilote 99ff426eb706cffe92ff3d058e168b278cabf7c7. Je m'excuse de ne pas avoir eu le temps de vraiment creuser et de le déboguer.

@methane @kardianos Je viens de déployer une copie vendue de database/sql et je me connecte sur le site d'erreur ctxutil . Je ferai un retour si/quand j'aurai plus d'informations.

Cette page vous a été utile?
0 / 5 - 0 notes