tombo2-progress’s diary

できるだけ毎日1時間を切り取ってここに晒す。誤字脱字気にしない。日本語が崩壊するのも気にしない。最終的にまとめて本ブログに書く

  • 65565byteを越えたサイズのパケットなのか、MySQLレイヤのヘッダ(packet length(3), seaquence id(1))すらなくstringをぶち込んでくるパケットがある
  • command_typeが0x02, 0x04あたりでpacket lengthが1で2つめ以降のMySQL packetでレスポンスデータを突っ込んでくるものがある。
    • 現状の認識だとこれはドキュメントになくて正体不明

一旦これらに区別される場合のエラーハンドリングをgolang のrecover()をして無理やりパースを続けられるようにした。

実際本番のときもパースできないときに死なれても困るのでrecover()する必用はあるかも知れない