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.
ES VERSION: 188.8.131.52 (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
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.