laskoviymishka opened a new pull request, #1279: URL: https://github.com/apache/iceberg-go/pull/1279
stream runs in its own goroutine (spawned by newRollingDataWriter) and has no caller able to recover a panic. Inside, closeWriter -> FileWriter.Close -> stats.ToDataFile panics when NewDataFileBuilder fails, so that panic escaped the goroutine and crashed the whole process instead of failing the write. Add a recover at the top of stream that converts a panic into an error delivered on errorCh, mirroring the recover already present in equalityDeleteRecordsToDataFiles. The defer is declared after the close(r.errorCh) defer so it runs first (LIFO) and sends while errorCh is still open; the existing Abort defer still cleans up the half-written file. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
