Closed Arkatufus closed 2 years ago
Is this why https://github.com/akkadotnet/Akka.Persistence.SqlServer/issues/114#issuecomment-496951433 is still an issue possibly?
cc @ismaelhamed
yes, that is exactly the cause of that issue, because it will never be called.
@Arkatufus this has been fixed now, correct?
Talked with @Arkatufus during our issue review today. This was fixed this summer.
The way it is implemented right now, batch execution is done through the
ExecuteChunk
method and is guarded by a circuit breaker that will emit aChunkExecutionFailure
that in turn will report a failure message to all requesters. The problem with the current implementation is that theExecuteChunk
body is guarded with a try...catch that consumes all exceptions and always returns aBatchComplete
message that returns a possible cause of failure, making the circuit breaker practically useless.Possible solutions would be:
Cause
property from theBatchComplete
message because, now, it will only fire if the batch completed successfully.BatchComplete
handler by moving theChunkExecutionFailure
handler logic into theCompleteBatch
methodChunkExecutionFailure
message and handler because it will never be fired.