Closed gmaillet closed 1 week ago
Changes Missing Coverage | Covered Lines | Changed/Added Lines | % | ||
---|---|---|---|---|---|
gdal_processing.js | 35 | 50 | 70.0% | ||
<!-- | Total: | 35 | 50 | 70.0% | --> |
Totals | |
---|---|
Change from base Build 6508007578: | -0.1% |
Covered Lines: | 5957 |
Relevant Lines: | 6168 |
Changes Missing Coverage | Covered Lines | Changed/Added Lines | % | ||
---|---|---|---|---|---|
gdal_processing.js | 35 | 50 | 70.0% | ||
<!-- | Total: | 35 | 50 | 70.0% | --> |
Totals | |
---|---|
Change from base Build 9594562709: | -0.1% |
Covered Lines: | 5957 |
Relevant Lines: | 6168 |
J'ai fait le squash
Changes Missing Coverage | Covered Lines | Changed/Added Lines | % | ||
---|---|---|---|---|---|
gdal_processing.js | 35 | 50 | 70.0% | ||
<!-- | Total: | 35 | 50 | 70.0% | --> |
Totals | |
---|---|
Change from base Build 9659724665: | -0.1% |
Covered Lines: | 5957 |
Relevant Lines: | 6168 |
Constaté sous Windows (pas testé sous Linux), lorsqu'on enchaine rapidement un "undo" avec l'application d'un patch on a fréquemment une erreur de type "EBUSY: resource busy or locked" liée à une commande rename (voir ci-dessous). Cette erreur est liée au rafraichissement (des commandes WMTS GetTile) qui ouvrent des images avec des gdal.openAsync sans les fermer explicitement. Lorsqu'on demande le "undo", l'API demande à renommer un fichier qui est encore ouvert et cela provoque une erreur.
Cette PR ajoute des "ds.close" pour tous les gdal.openAsync sur des fichiers. Le plus grave, c'est que cela stoppe le traitement du "undo" en cours de route et on obtient une branche corrompue dans le cache avec un patch partiellement annulé.
node:fs:980 handleErrorFromBinding(ctx); ^
Error: EBUSY: resource busy or locked, rename 'D:\TestPackO_QGis2\cache_11OPI_rgb\graph\19\00\00\00\RM\23_WQ.tif' -> 'D:\TestPackO_QGis2\cache_11OPI_rgb\graph\19\00\00\00\RM\23_WQ_5.tif' at Object.renameSync (node:fs:980:3) at rename (C:\Users\gmaillet\Documents\GitHub\gmaillet\PackO\middlewares\patch.js:48:6) at C:\Users\gmaillet\Documents\GitHub\gmaillet\PackO\middlewares\patch.js:488:5 at Array.forEach ()
at undo (C:\Users\gmaillet\Documents\GitHub\gmaillet\PackO\middlewares\patch.js:455:9)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
errno: -4082,
syscall: 'rename',
code: 'EBUSY',
path: 'D:\TestPackO_QGis2\cache_11OPI_rgb\graph\19\00\00\00\RM\23_WQ.tif',
dest: 'D:\TestPackO_QGis2\cache_11OPI_rgb\graph\19\00\00\00\RM\23_WQ_5.tif'
}