バグ #430
完了
特定のアカウントのアイコンが別のアカウントのアイコンになってることがある
toshi_a 初音 さんがほぼ13年前に追加.
12年以上前に更新.
説明
別人のアイコンになってることが極希にある。
- ファイルキャッシュはされてなかった
- Userオブジェクトのprofile_image_urlは正しい
- Pixbufキャッシュは別のアイコン
- Rawキャッシュも別のアイコン
また、mikutterを再起動したら治ったが、このまま動かしていたら間違ったアイコンのままファイルキャッシュされる可能性があった。
- ステータス を 新規 から 実装待ち に変更
- 担当者 を toshi_a 初音 にセット
今のところ、置き換わる元のアイコンも先のアイコンも同じホストにあるアイコン。ホストを基準に排他処理をしている部分が怪しいかもしれない。
Deferred化もしないとけないので、引き続き調査をする
フォローしてる人(A)がキャッシュに乗ってない状態で別のキャッシュに乗ってない人(B)をリツイートしたらAのアイコンがBになった。
どちらもサーバはa0だったので、サーバ毎の排他処理とリツイートの描画処理あたりを見る
0.1ブランチで修正。
リクエストを送るサーバごとにSerialThreadGroupを作り、それを通してリクエストを送るようにして、1つのサーバにつき同時に1リクエストしか送らないように制限していたが、カレントスレッドを使ってロードする方法も提供していたので、単一のサーバに複数のリクエストが同時に発生して、結果同じHTTPオブジェクトで同時に別のリクエストを処理していた。
この時運が悪いと、2つのリクエストのレスポンスがすり替わるようで、今回のようなアイコンのスワップが発生していた模様。
土日まで再現しなかったら治ったということにする。
他の形式にエクスポート: Atom
PDF