• Gradle 8.6 से Windows वातावरण में एंटीवायरस प्रोग्राम के साथ टकराव के कारण 'Could not move temporary workspace...' त्रुटि आकर build बार-बार fail होने लगा था, लेकिन Gradle 9.1 RC में यह आखिरकार ठीक हो गया।
  • Windows उपयोगकर्ता जो एक साल से अधिक समय से इस build error का सामना कर रहे थे, वे 9.1 संस्करण से सामान्य रूप से Gradle build चला पाएँगे। (संबंधित issue: #31438)

पहले के संस्करणों में काम करने का तरीका

  • फाइल पर सीधे file lock लगाकर dependency cache की immutability सुनिश्चित की जाती थी। यह तरीका सरल और स्पष्ट था।

8.6 संस्करण से काम करने का तरीका

  • परफॉर्मेंस बेहतर करने के लिए CacheBasedImmutableWorkspaceProvider को लाया गया, जो UUID आधारित temporary files बनाता है और काम खत्म होने के बाद उन्हें unique path पर move कर देता है।
  • यह तरीका integration test के दौरान file lock तरीके से होने वाले performance slowdown को सुलझाने के लिए अपनाया गया था।
  • Windows वातावरण में एंटीवायरस प्रोग्राम की real-time monitoring (नई फाइल बनते ही lock लेना) के साथ टकराव के कारण temporary file move fail होने की समस्या आई।

9.1 संस्करण का patch तरीका

  • ऑपरेटिंग सिस्टम के हिसाब से अलग locking strategy लागू की गई।
  • Windows वातावरण: LockingStrategy.WORKSPACE_LOCK तरीका अपनाया गया। यह cache path के अंदर subdirectory (\workspace) बनाता है और उस पूरे subdirectory पर lock लेकर एंटीवírus के per-file दखल को रोकता है, जिससे समस्या सुलझती है।
  • Windows के बाहर के वातावरण: 8.6 तरीके का existing ATOMIC_MOVE बना रहेगा.

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.