Exceptionless.Net
Exceptionless.Net copied to clipboard
Processing the queue increments the # attempts after submission.
This should be moved to increment the number of attempts after it has failed. The reason for this is if you start your application and it dies, the queue might be processing but didn't succeed. If this happens three times, the event will be completely discarded without ever being sent.
Sounds good to me.
Is this still needed? I looked at DefaultEventQueue and I couldn't see any attempt counters.
Yes, this happens when you get the event batch: https://github.com/exceptionless/Exceptionless.Net/blob/982a771b7a7dc35e94a9db017477c567bba34c40/src/Exceptionless/Extensions/FileStorageExtensions.cs#L106
I don't see how this is a real world issue and it seems better to error on the safe side because if we have an issue incrementing the attempts afterward we could potentially retry sending the batch forever. Have you actually seen this be an issue?
I haven't seen it, but I think it can be reproduced by killing the app while it's processing events on startup. Doing this three times shortly into app startup would remove all events.
I find that scenario highly unlikely and the opposite scenario of us not being able to increment the counter after attempting and then re-attempting infinite amount of times is much worse but also unlikely. I think we should close this issue.