Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kgo sink: fix read/write race for recBatch.canFailFromLoadErrs
When writing a record batch during a request, the batch mutex is locked. This guards against a concurrent failAllRecords, which can be triggered from a metadata update. However, a boolean field that guarded against failing buffered records if it's not "safe" was not properly mutex guarded. Writing a request only locks the batch, not the owning recBuf, while checking to see if the batch could fail only locked the owning recBuf, not the batch. This adds locking around the batch when checking if it can be failed, and adds a bool that, if true (due to load failures), ensures the batch is not written. Closes #785.
- Loading branch information