Fix concurrent upload review issues#1554
Conversation
Greptile SummaryThis PR fixes a suite of concurrency correctness issues across SDK upload templates — tracking the latest successful chunk response instead of relying solely on a completion marker, serializing progress callbacks in JVM SDKs, stopping workers early on error in Go/Ruby, and plugging file-handle/cURL-handle leaks in PHP, Python, and .NET.
Confidence Score: 5/5All changes are targeted, well-scoped bug fixes with no new APIs beyond opt-in configuration properties; safe to merge. Every changed file addresses a concrete defect (handle leak, unsafe concurrent write, missing early-exit, or wrong result selection) without introducing new behavioral contracts. The Go done channel and buffered results channel are correctly sized so in-flight workers can always drain without blocking after an early return. The PHP finally block unconditionally cleans up all cURL handles. JVM AtomicReference usage and synchronized(progressLock) are correct after awaitAll. .NET ReadAllBytes is only called for single-chunk uploads. No issues found that would cause incorrect behavior in production. No files require special attention. Important Files Changed
Reviews (4): Last reviewed commit: "Close mock results handle on lock failur..." | Re-trigger Greptile |
What
Verification