Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix resource busy erro #417

Merged
merged 1 commit into from
Jul 2, 2024
Merged

Fix resource busy erro #417

merged 1 commit into from
Jul 2, 2024

Conversation

gmaillet
Copy link
Collaborator

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'
}

@gmaillet gmaillet added the bug Something isn't working label Jun 18, 2024
@coveralls
Copy link

coveralls commented Jun 18, 2024

Pull Request Test Coverage Report for Build 9564579981

Details

  • 35 of 50 (70.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.1%) to 95.838%

Changes Missing Coverage Covered Lines Changed/Added Lines %
gdal_processing.js 35 50 70.0%
Totals Coverage Status
Change from base Build 6508007578: -0.1%
Covered Lines: 5957
Relevant Lines: 6168

💛 - Coveralls

@coveralls
Copy link

coveralls commented Jun 20, 2024

Pull Request Test Coverage Report for Build 9600154710

Details

  • 35 of 50 (70.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.1%) to 95.838%

Changes Missing Coverage Covered Lines Changed/Added Lines %
gdal_processing.js 35 50 70.0%
Totals Coverage Status
Change from base Build 9594562709: -0.1%
Covered Lines: 5957
Relevant Lines: 6168

💛 - Coveralls

Copy link
Collaborator

@amrosu amrosu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je n'ai pas réussi à reproduire ce bug sous Linux. Cela étant probablement dû à la gestion de fichiers différente entre Windows et Linux.
J'ai néanmoins testé la correction proposée et tout semble semble bien fonctionner pour Linux aussi. On peut donc la mettre dans master.
Avant cela, il serait bien de faire un squash du 2ème commit (eslint) avec le 1er

@gmaillet
Copy link
Collaborator Author

gmaillet commented Jul 1, 2024

J'ai fait le squash

@coveralls
Copy link

coveralls commented Jul 1, 2024

Pull Request Test Coverage Report for Build 9741558897

Details

  • 35 of 50 (70.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.1%) to 95.838%

Changes Missing Coverage Covered Lines Changed/Added Lines %
gdal_processing.js 35 50 70.0%
Totals Coverage Status
Change from base Build 9659724665: -0.1%
Covered Lines: 5957
Relevant Lines: 6168

💛 - Coveralls

@amrosu amrosu merged commit 11e185b into ign-packo:master Jul 2, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants