Missing support for default charset in Mysql 8
rogern opened this issue · comments
Decoding fails with Mysql 8+ because it use utf8mb4 as default charset which isn't supported
Expected behavior
Decoding, (Encoding?) should handle the charset utf8mb4.
Actual behavior
Decoding result fails with:
com.twitter.finagle.mysql.LostSyncException: java.lang.IllegalArgumentException: Charset 255 is not supported.
Steps to reproduce the behavior
Use mysql 8+ with the library and execute a simple select statement.
Running the integration tests with mysql 8+ shows the error.
[info] BlobTypeTest:
[info] com.twitter.finagle.mysql.integration.BlobTypeTest *** ABORTED ***
[info] com.twitter.finagle.mysql.LostSyncException: java.lang.IllegalArgumentException: Charset 255 is not supported.
[info] at com.twitter.finagle.mysql.MysqlCharset$.apply(MysqlCharset.scala:24)
[info] at com.twitter.finagle.mysql.HandshakeInit$.decode(Result.scala:66)
[info] at com.twitter.finagle.mysql.HandshakeInit$.decode(Result.scala:23)
[info] at com.twitter.finagle.mysql.Decoder.$anonfun$apply$1(Result.scala:15)
[info] at com.twitter.util.Try$.apply(Try.scala:26)
[info] at com.twitter.finagle.mysql.Decoder.apply(Result.scala:15)
[info] at com.twitter.finagle.mysql.Decoder.apply$(Result.scala:15)
[info] at com.twitter.finagle.mysql.HandshakeInit$.apply(Result.scala:23)
[info] at com.twitter.finagle.mysql.Handshake.$anonfun$readHandshakeInit$1(Handshake.scala:80)
[info] at com.twitter.util.Future.$anonfun$flatMap$1(Future.scala:1827)
Hi @rogern, thanks for reporting. This recently came up internally at Twitter as well, so our current plan is to likely work on this early next year. If you have the time and inclination, you're welcome to look into this issue and report your findings/work on a fix.