You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
write_fully(path, iobuf) can trigger an exception in case of low level failure, like no space left on disk
internally, write_fully is a uses seastar::with_file_close_on_failure(file_fut, future) and that will close file.close() if the future fails.
in our case, the internal future is ss::output_stream::close(), and the internal implementation of that is
a file.close() and rethrow of any stored exception. so
effectively that's equivalent to this code in case of internal exceptions
Version & Environment
Redpanda version: (use
rpk version
): allredpanda/src/v/utils/file_io.cc
Lines 54 to 73 in 6c630bd
write_fully(path, iobuf) can trigger an exception in case of low level failure, like no space left on disk
internally, write_fully is a uses seastar::with_file_close_on_failure(file_fut, future) and that will close file.close() if the future fails.
in our case, the internal future is ss::output_stream::close(), and the internal implementation of that is
a file.close() and rethrow of any stored exception. so
effectively that's equivalent to this code in case of internal exceptions
and this generates this trace
the solution is to move the internal operation outside. in coroutine form it's even cleaner
JIRA Link: CORE-2814
The text was updated successfully, but these errors were encountered: