- Sejak Gradle 8.6, pada lingkungan Windows, error 'Could not move temporary workspace...' sering terjadi karena konflik dengan program antivirus, sehingga build gagal berulang kali, tetapi akhirnya teratasi di Gradle 9.1 RC.
- Pengguna Windows yang mengalami error build ini selama lebih dari setahun diharapkan dapat menjalankan build Gradle secara normal mulai versi 9.1. (Isu terkait: #31438)
Cara kerja versi sebelumnya
- Mengunci file itu sendiri secara langsung (file lock) untuk menjaga immutability cache dependensi. Pendekatan yang sederhana dan jelas.
Cara kerja mulai versi 8.6
- Untuk meningkatkan performa,
CacheBasedImmutableWorkspaceProvider diperkenalkan untuk membuat file sementara berbasis UUID dan memindahkannya ke jalur unik setelah proses selesai.
- Pendekatan ini diperkenalkan untuk mengatasi masalah penurunan performa akibat mekanisme file lock ketika menjalankan integrasi test.
- Di lingkungan Windows, terjadi kegagalan saat memindahkan file sementara karena konflik dengan fitur pemantauan real-time program antivirus (yang mencoba mengunci saat file baru dibuat).
Cara patch di versi 9.1
- Strategi penguncian yang dibedakan per sistem operasi diperkenalkan.
- Lingkungan Windows: Menggunakan strategi LockingStrategy.WORKSPACE_LOCK. Ini membuat sub-direktori (\workspace) di dalam jalur cache dan mengambil lock pada seluruh sub-direktori tersebut untuk memblokir intervensi per-file oleh program antivirus, sehingga masalah ini terselesaikan.
- Lingkungan selain Windows: mempertahankan
ATOMIC_MOVE (mode versi 8.6).
Belum ada komentar.