[Proposal] Disable automatic ConfirmEvents in the background
- Dominant language
- C#
- Stars
- 10.9k
- Forks
- 2.1k
- Avg merge
- 13h 56m
- Merged PRs (30d)
- 351
Description
Currently in documentation it is stated:
_Note that even if you don't explicitly call **ConfirmEvents**, the events will eventually be confirmed - it happens automatically in the background._
What IF I don't want events to be confirmed automatically after calling _RaiseEvents()_ method?
As EventLog is immutable and it can ally grow and It makes sense to have more control over this process and I want events to be confirmed and stored to event log only when I wish to in order to make it more transactional.
Meanwhile developed can deal with tentative state while events are not confirmed
So maybe it makes sense to have mechanism like this:
`
public class EventSourcingOptions
{
public bool AutomaticConfirmationEnabled { get; set; }
}
...
services.Configure(options =>
{
options.AutomaticConfirmationEnabled = false;
})
`
Contributor guide
Research direction
Start with the EventSourcing APIs and documentation references to RaiseEvents, ConfirmEvents, and the immutable EventLog. Trace when background confirmation occurs and compare it with the proposed EventSourcingOptions setting. Done means callers can disable automatic confirmation while retaining explicit confirmation behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100