Fixes: #1490 While periodic mode is a all-bets-off crap-shoot as far as knowing if data actually reached disk or not, batch mode is supposed to be somewhat more reliable/deterministic. Thus, if we get an exception writing/flushing the current buffer, we should propagate exceptions to all execution paths involved in this buffer. Thus, adding a muation to commit log in batch, will now, if an error is generated, result in an exception to the caller, which should be interpreted as "data might not have been persisted". The failing segment is then closed, and we happily hope things will get better in the next. Which they probably wont. Missing: registration of some sort of "error-handling policy", similar to origin, which can either kill transports or shut down process. (A reasonable guess is that disk errors in commit log are not gonna be recoverable).
68 KiB
68 KiB