Hi there!
I think I found a small problem in the eventId idempotence mechanism. I tested this with an empty database and can reproduce the problem every time.
My setup:
ES VERSION: 3.0.0.0 (master/8ef23af341976d4f92580cdae28921bd0e325393, Wed, 15 Jan 2014 13:31:15 +0000)
OS: Windows (Microsoft Windows NT 6.1.7601 Service Pack 1)
RUNTIME: .NET 4.0.30319.18408 (64-bit)
GC: 3 GENERATIONS
Step 1) HTTP POST to http://localhost:2113/streams/foobar-1 three times in a row
Body:
[{
eventType: “FooBar”,
eventId: “2cf4a1a2-b4a3-5dfe-a01f-ec52c34e16e6”,
data: {
foo: “bar”
}
}]
``
The result is as expected: only one event in the stream foobar-1
Step 2) POST the exact same document to http://localhost:2113/streams/foobar-2 three times in a row
The result will be three events in stream foobar-2, where there should be only one.
For documents with a different eventId than the one above the idempotence check will work fine, only if we try the above id again the check will fail.