The the raven implementation leverages queries when retrieving streams. Raven queries by design are eventually consistent. To get around this, WaitForNonStaleResultsAsOfLastWrite is leveraged to try to force consistency. This causes issues with timeouts when there are many indexes on the same database or when indexing is slow.
With Raven feature improvements, we should now be able to refactor the models to provide an implementation that doesn't rely on Queries for gets for a single stream & perhaps for replay by checkpointId.
I expect that getting by date will still require queries.
The the raven implementation leverages queries when retrieving streams. Raven queries by design are eventually consistent. To get around this, WaitForNonStaleResultsAsOfLastWrite is leveraged to try to force consistency. This causes issues with timeouts when there are many indexes on the same database or when indexing is slow.
With Raven feature improvements, we should now be able to refactor the models to provide an implementation that doesn't rely on Queries for gets for a single stream & perhaps for replay by checkpointId.
I expect that getting by date will still require queries.