This isn’t a bug I had but more about a piece of code I find not following what is documented on the Docs.
Here’s the use case. Let’s say we want to perform a Write and gave an Any or StreamExists version.
If the Docs is right, we should only make sure that the Write request’s events shouldn’t be partially committed,
meaning some are committed while others aren’t. In such case, the write request must fail.
However the code in IndexWriter doesn’t seem to apply this rule particularly when we look at this IndexWriter.cs line.
For instance, if the write request is comprised of 2 events, it will not bother to check if the 2nd event was committed already if the 1st one isn’t committed yet.
This should be detected as a *CorruptedIdempotency *but will pass according to current implementation.
Did I get this code wrong ?
Thanks for your time.