Mga Digital Download: Persistence Fix at Awtomatikong Paghahatid para sa mga Nakaraang Order
Setyembre 13, 2026
Ngayong araw, naayos namin ang isang bug na nagdudulot ng pagkawala ng ilang digital download files matapos ang mga server update — at, kasinghalaga nito, tinitiyak namin na awtomatikong nakakakuha ng access ang mga buyer sa sandaling mag-upload (muli) ang seller ng isang file.
Ano ang nangyari
Ang ilang buyer ay nakakita ng «file not found on disk» (hindi natagpuan ang file sa disk) kapag kiniklik ang download button sa Aking mga Download, kahit na bayad na ang kanilang order at umiiral ang download entry.
Ang teknikal na dahilan
Ang aming game service ay tumatakbo sa isang Docker container sa bawat regional na VPS. Ang mga na-upload na download file ay isinusulat sa /var/lib/erleuchtung/shop-downloads — na dapat ay isang persistent na folder sa host server, na naka-mount sa loob ng container.
Ang mount ay umiiral sa aming development configuration, ngunit nawawala ito sa deployment compose file na ini-install ng aming update agent sa mga VPS node. Bilang resulta, ang mga na-upload na file ay naka-store sa loob ng filesystem layer ng container mismo. Tuwing may update na nagre-recreate ng container, ang layer na iyon ay tinatapon — nawawala ang mga file, habang ang mga database record (na nasa PostgreSQL) ay nananatili.
Ang resulta: isang valid na download entry na tumuturo sa isang file na hindi na umiiral.
Ano ang aming naayos
- Persistent storage sa lahat ng node. Ang download directory ay naka-mount na nang tama sa host storage sa lahat ng regional server (US, IN, EU2, SG, at ang aming MAAS staging node). Ang mga upload ay nakakaligtas sa mga update at container recreation.
- Awtomatikong backfill sa upload. Dati, ang download access ay ibinibigay lamang sa sandali ng pagbabayad — at para lamang sa mga file na umiiral sa oras na iyon. Ngayon, kapag nag-upload ang seller ng file sa isang produkto, awtomatiko itong ibinibigay sa lahat ng buyer na may bayad na order para sa produktong iyon, na may instant notification.
- Self-healing na download list. Ang pagbukas ng «Aking mga Download» ay nag-aayos na ngayon ng mga nawawalang access para sa lahat ng iyong bayad na order — ang mga lumang pagbili ay nagpapagaling ng sarili.
- Grant sa shipment. Kapag minarkahan ng seller ang isang order bilang naipadala/naihatid, ang mga nakalakip na file ay ibinibigay kaagad — ang mga digital na kalakal ay dapat ibigay sa paghahatid.
Ano ang kailangang gawin ng mga seller
Ang mga file na na-upload bago ang fix na ito at nawala sa panahon ng update ay hindi na mababawi — umiiral lamang ang mga ito sa loob ng isang tinapong container layer.
Kung nag-upload ka ng mga file dati: buksan ang iyong produkto, tanggalin ang lumang download entry, at i-upload muli ang file. Sa sandaling mag-upload ka, awtomatikong mababalik ang access ng lahat ng dating buyer — walang manual na trabaho na kailangan.
Isang tala tungkol sa transparency
Ang mga «naipadala» na notification email na natanggap ng ilan sa inyo ay binanggit ang mga downloadable file na hindi kailanman talaga nakalakip — ang tekstong iyon ay shipping note ng seller, hindi file delivery. Sa release na ito, ang download button sa «Aking mga Download» ang nag-iisang mapagkakatiwalaang batayan: kung ang isang file ay nakalista doon, umiiral ito sa server at maaaring i-download.
Salamat sa inyong pasensya — at espesyal na pasasalamat sa mga miyembro ng komunidad na mabilis na iniulat ang isyu.
— Ang Erleuchtung Team