Project

General

Profile

バグ #430

特定のアカウントのアイコンが別のアカウントのアイコンになってることがある

Added by toshi_a 初音 over 8 years ago. Updated over 8 years ago.

Status:
終了
Priority:
低め
Target version:
プラグイン名:
ブランチ:
クラッシュする:

Description

別人のアイコンになってることが極希にある。
  • ファイルキャッシュはされてなかった
  • Userオブジェクトのprofile_image_urlは正しい
  • Pixbufキャッシュは別のアイコン
  • Rawキャッシュも別のアイコン

また、mikutterを再起動したら治ったが、このまま動かしていたら間違ったアイコンのままファイルキャッシュされる可能性があった。

#1

Updated by toshi_a 初音 over 8 years ago

  • Status changed from 新規 to 実装待ち
  • Assignee set to toshi_a 初音

今のところ、置き換わる元のアイコンも先のアイコンも同じホストにあるアイコン。ホストを基準に排他処理をしている部分が怪しいかもしれない。
Deferred化もしないとけないので、引き続き調査をする

#2

Updated by toshi_a 初音 over 8 years ago

フォローしてる人(A)がキャッシュに乗ってない状態で別のキャッシュに乗ってない人(B)をリツイートしたらAのアイコンがBになった。
どちらもサーバはa0だったので、サーバ毎の排他処理とリツイートの描画処理あたりを見る

#3

Updated by toshi_a 初音 over 8 years ago

  • Status changed from 実装待ち to 様子見

0.1ブランチで修正。

リクエストを送るサーバごとにSerialThreadGroupを作り、それを通してリクエストを送るようにして、1つのサーバにつき同時に1リクエストしか送らないように制限していたが、カレントスレッドを使ってロードする方法も提供していたので、単一のサーバに複数のリクエストが同時に発生して、結果同じHTTPオブジェクトで同時に別のリクエストを処理していた。
この時運が悪いと、2つのリクエストのレスポンスがすり替わるようで、今回のようなアイコンのスワップが発生していた模様。
土日まで再現しなかったら治ったということにする。

#4

Updated by toshi_a 初音 over 8 years ago

  • Status changed from 様子見 to 終了

Also available in: Atom PDF