「ある長さ,ある件数」で発生するレアケースとは
昨日の自動改札機ダウンの件であるが.
「ある長さ,ある件数」の場合に発生するレアケースとは何だろう?おそらく境界値ぴったりにデータが飛んできて,処理エラーなんだろう,って所までは何となく予想がつくんだけど.
また,
このため、判定部はエラーを返しながらネガデータ読み込みのリトライをひたすら繰り返す状態に陥り、起動処理が止まった。
と言うことだから,while文で無限ループに陥ってしまったんだろうかな.
while (残り処理件数が0になるまで){
//処理の一時バッファ確保(1024バイト)
//一時バッファにファイルからread(ヘッダに書かれているデータ長 + 1バイト読み込む)
//+1バイトは¥0とかなんか
//--ここで,データ長が1024バイトだったら,読み込むバイトは1025バイト
//--一時バッファに格納できなくてエラー
//データの処理
if(処理がうまく行ったら) {
残り処理件数--
}
}
みたいな感じだろうか.
話かわるが,最近会社でもプロセスがダウンし,製造ラインに大幅な支障をきたした.原因はOracleのバグ(Oracle社はバグとは認めなかったけど)だったが,自分の作成したプログラムはもとより,利用するミドルウェアについても気をつけなくてならない今日この頃.
そういえば最近,Oracleのバグで神戸新聞社のシステムもダウンした.恐ろしい.
コメント