mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
+ VfsAwareIndexStorageLayout.clearIndexData() is physically removes the index's files -- but the index storages could be still !closed and in use, which creates various use-after-delete errors (e.g. EA-1061618). Those errors are especially tricky because *nix OSes allows to use removed files via opened file-handle, while Win doesn't allow to even delete an opened (mmapped) file. + The change introduced a tracking of opened index storages, and check them being closed before re-open or .clearIndexData() + Right now only warning about not-closed storages is logged -- could be turned into exception with `-Dindexing.only-warn-if-cleaning-unclosed-storage=false` + Next step planned: forcibly _close_ the storages before re-open/clear -- which will trigger exceptions in the code that uses storages after their lifecycle is finished -- see StorageRef.CLOSE_BEFORE_REOPEN GitOrigin-RevId: 57010f07e1ebad0f9de492bd3d97eed7a528507f