temp -> close -> rename/replaceでの公開
生成中のファイルをtemp名に閉じ込め、closeしたあとで同一ディレクトリ・同一ボリューム上のfinal名へrename/replaceする、書き込み途中のファイルを読ませないための公開パターン。
この概念が関わる関係
- 受け渡しプロトコルはtemp -> close -> rename/replaceでの公開を利用します。
- temp -> close -> rename/replaceでの公開は書き込み途中ファイルの読み込み事故を防ぎます。
- temp -> close -> rename/replaceでの公開はクロスボリュームのrenameフォールバック(コピー+削除)と両立しません。
- 送信側での完了条件の明示はtemp -> close -> rename/replaceでの公開を利用します。
- temp -> close -> rename/replaceでの公開は共有フォルダ(SMB)越しのファイル連携に対する本記事の推奨です。
- temp -> close -> rename/replaceでの公開は書き込み途中ファイルの読み込み事故を防ぎます。
この概念を扱う記事
- ファイル連携の排他制御の基礎知識 - ファイルロックと原子的 claim のベストプラクティス(主要トピック)
- FileSystemWatcher実務ガイド - 取りこぼしと重複対策(言及)
- ネットワークドライブとUNCパスの落とし穴 ── 業務アプリでファイルサーバー(共有フォルダ)を扱う実務(言及)
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。