Quote:
Originariamente inviato da insane74
sviluppo un app chiamata Foto.
per velocizzare la visualizzazione, la ricerca, altre operazioni, l'app usa un database.
quando tutto funziona regolarmente i dati del database sono coerenti con lo stato del filesystem.
nello specifico, una foto dichiarata "cancellata" nel database corrisponde ad un file marcato come "cancellato" sul filesystem.
a causa di un bug, in alcuni casi, una foto dichiarata come "cancellata" nel database non viene marcata come "cancellata" sul filesystem.
la foto non compare più nell'app perché l'app mostra il contenuto del database. ma la foto fisicamente c'è ancora sul dispositivo.
e il file viene copiato nel backup perché il backup è "ignorante" e copia tutto il contenuto del dispositivo (il database dell'app Foto e i file presenti nel filesystem).
nuovo telefono e ripristino dal backup?
l'app Foto riparte col database dove quella foto non è più presente ma sul telefono viene ripristinata la foto nel filesystem perché presente nel backup.
poi un giorno un tizio s'è svegliato e ha deciso di risolvere quel bug dicendo "rifai la scansione del filesystem: se trovi foto che NON sono presenti nel DB aggiungile nuovamente al DB, così ora DB e filesystem sono nuovamente sincronizzati. poi nel caso ci penserà l'utente a cancellare nuovamente la foto. ma ora che ho risolto il bug la cancellazione del record nel DB corrisponderà alla cancellazione sul filesystem".

|
Aaah, grazie, adesso ho capito...
Quindi la cancellazione del file non è immediata, ma avviene solo dopo essere passata per una "cancellazione" su database.
Se si corrompe il database nel mezzo di questa operazione, la foto risulta cancellata nel database, ma il file è ancora vivo e vegeto in memoria.
Resta il fatto che, come procedimento, è un po' ridicolo.
Va bene usare un database per i metadati, per le modifiche alle foto, per indicizzazioni varie... ma la cancellazione dovrebbe avvenire direttamente sui file...
Inoltre, le cartelle dei file non sono periodicamente reindicizzate? In 14 anni, la Galleria non si è mai accorta di file presenti sul dispositivo che non venivano visualizzati?
Quote:
Originariamente inviato da Wikkle
Mi son spiegato male, i backup sono fondamentali ovviamente, ma in generale per telefoni, computer etc, usare i ripristini e reimportare i backup creano sempre e da sempre pasticci.
Nuovo device, va tenuto come nuovo. Non vanno rimesse le porcate precedenti (configurazioni, impostazioni etc), altrimenti da nuovo, diventa subito vecchio e sporcaccione
|
Concordo.