パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

新潟県の公文書管理システムから約10万ファイルが消失。人為的ミスが原因」記事へのコメント

  • 新潟県データ10万件消失事故 拡張子を小文字にしたかったのはなぜか 県に聞いた [itmedia.co.jp]

    こんなのマクロ側をなおせばいいのに...
    おもしろいことをするなぁ。

    • by maia (16220) on 2023年04月25日 12時43分 (#4449852) 日記

      データ削除プログラムは、登録されたファイルのリストを参照してリストにないファイルを削除する仕組みだという。新機能により拡張子が変換されたことで、該当ファイルの名前がリストに記載されていないことになり、10万件のデータが削除されたとしている。

      面白いというか謎仕様だ。ファイル名をちょっとでもいじったら消されるの? この件、不思議な仕様と経緯だらけ。

      親コメント
      • by nemui4 (20313) on 2023年04月25日 13時05分 (#4449868) 日記

        「登録されたファイルのリスト」
        ファイル登録時にリストを生成して、勝手に変更されたら改変されたと見做して削除するという仕様なんすかね。
        後付のツールが勝手にファイル名を変更するというのは想定できないでしょうし。

        改修するとしたら
        ・ファイル名やタイムスタンプ変更が見つかったら、ファイルを隔離してアラーム上げる
        ・作業履歴を確認して、廃棄 or renameして戻すかどうかを判断
        とかかな

        親コメント
        • by Anonymous Coward

          ストレージの空きを確保するためのガベージコレクション的な奴かと。
          参照されてないから不要として削除したけど、実は使用中だったと。

          • by Anonymous Coward

            ガベージコレクションは使用中の奴は削除しないぞ。

            この件については、まだ使ってるのを削除してしまった
            単純なバグでしょう。メモリリークの逆。

            • by Anonymous Coward

              文書管理(使用中ファイルの管理)は case sensitive だけど、
              ファイル名の大文字小文字を変換したから、
              ガベコレから見ると使用中扱いじゃなくなった、ってことじゃないかな。

              ファイルシステムは case insensitive なら、
              ファイル名の大文字小文字の変更は問題ないので、
              ガベコレのバグ。

              case sensitive なファイルシステムを使っているなら、
              今回導入したファイル名変換ツールがファイル管理の整合性は取ってなかった、
              というファイル名変換ツールのバグ。
              こっちだとすると、たとえファイル削除してなくても、「文書管理ツールからファイルが見えなくなる」って問題が起きるかな。

      • by Anonymous Coward

        ファイルを登録するときにDBに書き込み、同時にファイルを作成する。
        ファイルを読みだすときはDBで検索して、その情報に基づいてファイルを取得して返す。
        不要ファイルの削除をするときはDBの該当ファイルの情報を消し、のちにバッチ処理でDBに載っていないファイルを消していく。
        そんな処理になっていたんじゃないですかね。
        DBにはメタ情報が入っていて、普段をそれで該当ファイルを探してダウンロードするシステムであると考えれば、それほどおかしな設計ではないと思いますよ。

        • by Anonymous Coward

          あるかどうか不明な削除対象ファイルを探すために全ディレクトリをスキャンするのはなんかダサいな
          最初はずっと余裕だと思っていたストレージが足りなくなってきて、その場しのぎで作った容量確保処理をそのまま常用することになったみたいな感じだろうか

          • by Anonymous Coward

            あるかどうか不明な削除対象ファイルを探すために全ディレクトリをスキャンするのはなんかダサいな

            ダサいかどうかは別として、例えばよく使われるPHPとその標準ライブラリーなら数行で記述可能です。
            ほかの処理系でもそういったものはきっとあるでしょう。

            ストレージが足りなくなって

            おおもとでファイルと書いていたのでローカル・ストレージの可能性をもって書きましたが、もしかするといわゆる「オブジェクト・ストレージ」系の可能性もありそうです。
            その場合は少しだけ違う処理をしている可能性もありそうです。
            容量については要求仕様によるので、実装側の責任問題にはこの場合にはなりにくそうに考えますが、いかがでしょうか?

            • by Anonymous Coward

              だせえよ。
              俺ならそんなん一行だぜ

              # rm -rf /*

      • by Anonymous Coward

        クソ仕様な気がしています。(しかも高額かも)

        もっと普通な仕様を提案できるチャンスなのかも。

        バックアップ世代管理が3日間というのも時代遅れを感じます。

      • by Anonymous Coward

        想像だけど、単なるファイルサーバじゃなくて、公文書管理ならあり得ると思う。
        保管文書にどのようなファイルかは把握しないといけない、変な文書がおかれては困る、保存期限も管理しないといけないとか、いろんな条件があるだろうから、リストで一覧が管理されていて、実装はともかくとしてリストに無いものは削除という仕様は当然と思う。

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

処理中...