データストア障害でエンティティが消えた疑惑

2010/05/26早朝に発生した障害の後で、エンティティが行方不明になる・状態が古くなる、といった報告が相次いだのでまとめてみた。
0
増田コージ@ふにゃもらけ開発者 @funyamora

今朝の障害の影響だと思うんだけど、消えてしまったEntityがあるみたいだ。 #appengine

2010-05-26 14:12:11
SHIIBA Mitsuyuki @bufferings

おぉ・・・消えるの・・? RT @funyamora: 今朝の障害の影響だと思うんだけど、消えてしまったEntityがあるみたいだ。 #appengine

2010-05-26 14:12:56
shin1ogawa @shin1ogawa

@funyamora まじすか。不穏な例外とかはログに残ってませんか。

2010-05-26 14:12:59
yasee.eth @ya_see

え!? RT @funyamora 今朝の障害の影響だと思うんだけど、消えてしまったEntityがあるみたいだ。 #appengine

2010-05-26 14:13:15
谷田部P @yatabe

RT @ya_see: え!? RT @funyamora 今朝の障害の影響だと思うんだけど、消えてしまったEntityがあるみたいだ。 #appengine

2010-05-26 14:13:47
NariyaTakemura𝕏@Web3Game x AI @nariya

mjsk? RT @funyamora: 今朝の障害の影響だと思うんだけど、消えてしまったEntityがあるみたいだ。 #appengine

2010-05-26 14:21:38
teamcounter @teamcounter

消えるって。。。RT @funyamora: 今朝の障害の影響だと思うんだけど、消えてしまったEntityがあるみたいだ。 #appengine

2010-05-26 14:25:40
najeira @najeira

インデックス破損ならputしなおしで直るかもしれません RT @funyamora: 今朝の障害の影響だと思うんだけど、消えてしまったEntityがあるみたいだ。 #appengine

2010-05-26 14:28:06
Suguru ARAKAWA @ashigeru

@shin1ogawa 実証実験してないので何とも言えないですが、Applyフェーズに失敗したら、キーを覚えておいてトランザクションで読まないとKindlessクエリでは引っかからない気もします

2010-05-26 14:38:07
shin1ogawa @shin1ogawa

@ashigeru Applyフェーズのエンティティテーブルへの反映に失敗したら例外(DSFailtureかCommittedButStilApply)が飛んで来そうな気がしますけど、どうなんでしょう。

2010-05-26 14:39:36
増田コージ@ふにゃもらけ開発者 @funyamora

@shin1ogawa get時にDatastoreFailureExceptionがけっこう出てました。read-onlyになってたみたいなのでput時に出るのはわかるんですが。

2010-05-26 14:40:59
Suguru ARAKAWA @ashigeru

@shin1ogawa あぁ、そういやそうですね>Apply。あとはEventualモードを無意識に使っていて、マスタノードが落ちているとかくらいですか

2010-05-26 14:41:31
shin1ogawa @shin1ogawa

@funyamora getでDatastoreFailureExceptionが出るんですか。Consistencyの設定をEVENTUALLYにしたらどうなりますかねぇ。

2010-05-26 14:42:18
shin1ogawa @shin1ogawa

@ashigeru TLで見れてるとは思いますけど、ふにゃもらさんの報告だとgetでDSFailureだそうです…。

2010-05-26 14:43:10
Suguru ARAKAWA @ashigeru

@shin1ogawa DSFailureはEVENTUALLYでもSTRONGでも起こりうるとは思います。でもSTRONGならマスタノードから読めない時点で失敗するはず

2010-05-26 14:46:50
shin1ogawa @shin1ogawa

@ashigeru はい。ふにゃもらさんの状況はマスタから読めずにDSFailureなのかなーと。しかし考えてみるとGetでDSFailureって事は。applyフェーズが終わってないから読めない(entityへのapply待ち状態)、って事かな?と想像してます。

2010-05-26 14:50:17
Suguru ARAKAWA @ashigeru

@shin1ogawa read-onlyモードはどの層でR/Oなのかちょっと不明ですね。予想ではレプリケーションがうまくいかなくなる(DC分断)のリスク回避で、個々のBigtableに本当に書き込みできないのかどうかは不明です

2010-05-26 14:53:01
shin1ogawa @shin1ogawa

@ashigeru そのあたりも情報が欲しいですねぇ〜〜

2010-05-26 14:53:22
増田コージ@ふにゃもらけ開発者 @funyamora

正確に言うと、消えたことは確認できてなく初期化されてしまっている状態です。getでEntityNotFoundExceptionが発生したら、Entityを初期化するようにしています。 RT @bufferings: おぉ・・・消えるの・・? RT @funyamora: 今朝の

2010-05-26 14:56:36
増田コージ@ふにゃもらけ開発者 @funyamora

クエリではなくて、キー指定でgetしてます。正確に言うと、消えたのは確認できてません。getして、EntityNotFoundExceptionが発生したら、Entityを初期化するようにしているので。 RT @najeira: インデックス破損ならputしなおしで直るか

2010-05-26 15:18:24
増田コージ@ふにゃもらけ開発者 @funyamora

@shin1ogawa DatastoreFailureExceptionが出てたのは障害中のことで、今現在は発生してないです。

2010-05-26 15:30:12
shin1ogawa @shin1ogawa

@funyamora 貴重な情報をありがとうございます。今はそのKeyを使ってもGetできなくなっちゃってるって事ですね…。それなら消えてそう…。

2010-05-26 15:31:36
佐々木竹充/SASAKI TAKERU @urekat

me too RT @funyamora: 今朝の障害の影響だと思うんだけど、消えてしまったEntityがあるみたいだ。 #appengine

2010-05-26 15:37:23
佐々木竹充/SASAKI TAKERU @urekat

put出来てたはずのものが無い(新規作成put)、更新したはずなのに更新内容が戻ってる(上書きput) みたいなかんじ。切り替えたときに”一部EGだけ”ちょっと古いスナップショットで復旧しました的な状況にみえる #appengine

2010-05-26 16:00:50
najeira @najeira

エラーになったインデックスの削除が終わらない。もう7時間経ってます。こればかりはしょうがないか。 #appengine

2010-05-26 17:27:32