別人の証明書が発行されるマイナ不具合が全国で起きている
立憲の松永よしひろ氏が投稿した文書によると、マイクロ秒で同時のタイミングで
コンビニ交付すると不具合が生じるとのこと
目次
【品川区】
— 松永よしひろ 立憲民主党 品川区政担当 (@Matsunaga_1127) May 16, 2023
コンビニ交付障害の対応について
5月18日【木】6:30〜23:00まで
利用出来ません。
#マイナンバーカード
#コンビニ交付停止
これ根本原因がなおってないんだから、負荷テストなんて意味ないだろ・・・。 twitter.com/Matsunaga_1127…
— sky (@NtSkymura) May 17, 2023
時刻のみを処理キーしてるなこれ。キーに店舗コード持つだけで回避できる事象じゃん…。
— オリベー(・×・) (@OlibeyI) May 17, 2023
APサーバとDBサーバの同一構成(それもどうなんだ)で事象起きないのも、要求を1つずつ受けて返して…しか処理しないからだね。低品質だから助かってるだけだけど、顕在化してないだけで他にも不具合ありそう。 twitter.com/Matsunaga_1127…
どういう仕様なんだ…まさかuser_idではなく、request_datetimeでユーザー判別したり、request_datetimeをユニークIDとして利用する部分があるの?…いや、それサーバー構成の問題じゃなくない? 普通にそんなことありえないだろう…今日日、新人エンジニアでもそんな設計せんやろ…どういうこと…? twitter.com/Matsunaga_1127…
— amaranthine (@amaranthine) May 17, 2023
「同日同時刻(マイクロ秒)まで同一のタイミングで別人がコンビニ交付を行った際にデータが入れ替わる」😱 twitter.com/Matsunaga_1127…
— Haruhiko Okumura (@h_okumura) May 17, 2023
スポンサーリンク
スポンサーリンク
マイクロ秒の奇跡で別人のが出るんか。
— にゃー (@nya3_sapporo_it) May 17, 2023
出ちゃいけないのはそうだけど相当レアで草 twitter.com/Matsunaga_1127…
秒だからだめなんだ!
— 酔いどれふりす (@HurisDrunk) May 17, 2023
↓
よし、次はマイクロ秒だ!これならそーそーぶつからんやろ!!
あのさァ…… twitter.com/Matsunaga_1127…
入れ替わるって書いてあるけど、AさんがBさんの、BさんがAさんのになるわけではなく、AさんもBさんもAさんの、もしくはAさんもBさんもBさんのになるんじゃないかな? twitter.com/Matsunaga_1127…
— Yu Takashina (@yu_takashina) May 17, 2023
・排他制御とは何か分かってないと思われたくないという意志が感じられない原因説明。知らないのでは?
— こばやしなおき (@nasutter) May 17, 2023
・本当にマイクロ秒まで一致して事故になるの?時計の分解能について分かってないのでは?
・サーバが同じだから大丈夫、本当?負荷テストで何をテストするべきでどうやってなぜOKか報告できる? twitter.com/Matsunaga_1127…
冗談で「対応内容『ミリ秒単位にしました』とかじゃないだろうな」って言ってたけどまさか twitter.com/Matsunaga_1127…
— Ikeda Daigo (@hogedigo) May 17, 2023
こういうことが原因だと、「じゃぁ検証してみようぜ」ってノリで仲間内でデータ入れ替わりが発生しないかやろうとする輩が発生しそうなんだが、、、 twitter.com/Matsunaga_1127…
— mugi (@ura_mugi) May 17, 2023
GetTickCount並みの解像度のAPI使ったか、時間取得をinitialize処理で済まして数秒間内のリクエストをループで回した、とか? twitter.com/Matsunaga_1127…
— wordi (@wordijp) May 17, 2023
えっ??
— Mialceal (@mialceal) May 17, 2023
これもしかして前に秒単位でバグってて「対応完了」って言ってたやつ??
対応=マイクロ秒に変更ってマジ??w
もうシステムエンジニア免許制にしろよwww
1割も残らないと思うけどwww twitter.com/Matsunaga_1127…
スポンサーリンク
スポンサーリンク
端末IDとか使ってないのか? twitter.com/Matsunaga_1127…
— まお(松岡洋) (@kuronekodaisuki) May 17, 2023
同一市内の証明書交付で、ユーザーの操作がマイクロ秒まで同一のタイミングになるって、めちゃくちゃ確率低いとおもうんだけど、本当にそれだけの原因? twitter.com/Matsunaga_1127…
— ケビン松永 (@Canary_Kun) May 17, 2023
短時間で大量のリクエストが投げられるOLTPは、時刻パラメータだけでハンドリングすると死んでしまうよね。 twitter.com/Matsunaga_1127…
— Hajime Saito (@replicorn) May 17, 2023
この画像を起点に「秒単位ではダメだったから、今後はマイクロ秒単位にしたのか」的な言説が結構見られるけど、「誤発行状況」が最初の3例から増えてない所を見ると「最初からマイクロ秒単位だった」と言う話な気がする。実際、どうなんだろう。 twitter.com/Matsunaga_1127…
— Tsugawa/CubeSoft, Inc. (@tt_clown) May 17, 2023
この内容が本当ならDBアクセスする際のキーがマイクロ秒まで含んだ時刻ってことになるけどそれが重複した挙句狙ったレコードが取れない(もしくは複数取れる)ってことになるのでテーブル定義でPKが正しく定義されてない可能性が出てくるけど。。。
— やっぴ (@yappi0207) May 17, 2023
ばっかみたい。 twitter.com/Matsunaga_1127…
またいつものあそこか。 twitter.com/Matsunaga_1127…
— stada (@stada1974) May 17, 2023
次はナノ秒にしないとだねぇ…… twitter.com/Matsunaga_1127…
— あらまほし (@TasRealBel) May 17, 2023
スポンサーリンク
スポンサーリンク
なにか端末ごととかユーザーごととかのユニークものを使えない制約があるのかな? twitter.com/Matsunaga_1127…
— そうしくん (@soshi_harami) May 17, 2023
前提が分からないんだけど、時間をキー情報にしてたのかな。こういうのって、セッション単位でメモリ領域を分けてると思うけど、何でこうなるのか分かってない。 twitter.com/Matsunaga_1127…
— ジョニー (@tako2539) May 17, 2023
作成する一時ファイルがタイムスタンプ付きのファイル名で、それで衝突検知(O_EXCL)をしているのかな。
— 海外 浩平|KaiGai Kohei🌻 (@kkaigai) May 17, 2023
ローカルファイルシステムならそれで動くけど、DBとAPが別インスタンスなら検知できなくて上書きとか。
そーゆー感じの障害なら分かるけど、それじゃ負荷試験ではテストした事になんないべ。😅 twitter.com/Matsunaga_1127…
「マイクロ秒まで同一のタイミングで別人がコンビニ交付を行った際にデータが入れ替わる」
— Kazuho Oku (@kazuho) May 17, 2023
「負荷テストを実施(して再点検)」
設計はとりあえずそういうものだとして、負荷テストで再現しなければ問題ないと言える類の問題なのかしら twitter.com/Matsunaga_1127…
これ、何で「交付」=データ出力処理で、元のデータが更新されるのか、意味が分からない。何が起きているのだろうか。
— Koji Saito (@KojiSaito) May 17, 2023
そもそも DB 使ってて、こんなこと起こす方が難しいような…(DB 使ってないのかな?)
同時刻で…とか言ってるあたり、設計の悪さというか、全般的な筋の悪さがあるような予感。 twitter.com/Matsunaga_1127…
マイクロ秒でも被るときは被るし、そもそもタイマーの精度が1マイクロ秒単位なのかという問題が。
— わんだらぁ (@StellaInerrans) May 17, 2023
負荷テストをしたらボロボロ被ったりして。 twitter.com/Matsunaga_1127…
だからユニークなキーに時刻を用いるのはダメなんだってばさ・・・ twitter.com/Matsunaga_1127…
— 辻狂い (@tsujigurui) May 17, 2023
マイクロ秒……
— 栗野鱗 (@crin_o_line) May 17, 2023
もうこれを突き詰めていけば、『君の名は。』や『転校生』みたいな入れ替わりの理論も構築できるのではなかろうか。
そもそも論で言えば、タイムスタンプなんてものを固有の識別の材料にしてる段階で、うん。 twitter.com/Matsunaga_1127…
スポンサーリンク
スポンサーリンク
この記事に問題があると考えた場合、こちらから作者様にご連絡をお願いします。