Highlights
- Continued Async Support:
- Multi-threaded Uploads Are Now Async: This change optimizes the upload process to handle multiple tasks simultaneously: uploading file parts concurrently, performing MD5 checksum calculations in separate processes, and making HTTP calls asynchronously. Further, memory management techniques were implemented to prevent crashes on low-resource EC2 instances. Benchmark results can be found here.
- HTTPX Support & Async Client Instances: In this update, support for the HTTPX library has been introduced, enhancing the functionality of Synapse with two new async client instances for seamless interaction with Synapse and Storage Providers. Additionally, the retry and back-off mechanisms have been revamped to improve reliability and performance, ensuring smoother operation even under challenging network conditions.
What's Changed
- [SYNPY-1419] Httpx async client by @BryanFauble in #1076
- [SYNPY-1453] Guard around modified time item in cache by @BryanFauble in #1080
- [SYNPY-1420] Re-write uploads to mix async, multi-threading, and multi-processing by @BryanFauble in #1078
- [SYNPY-1417] Updates for the annotation model by @BryanFauble in #1081
- [SYNPY-1456] Flaky integration tests by @BryanFauble in #1082
- [SYNPY-1465] Adding Annotations to sync and async docs by @jaymedina in #1087
Full Changelog: v4.1.1...v4.2.0