Event Store 3.9.0 is now released! This release contains a number of improvements and bug fixes. The main feature around this release was the introduction of 64bit indexes.
To explain a little more, Event Store has a single index (made up of an in memory index and zero or more index files stored on disk called PTables). Each index entry used to be made up of a hash of the stream id (uint32), version (uint32) and the log position (ulong).
When a user attempts to read a stream, the indexes are queried using a hash of the stream id. This may result in a record being returned but for the wrong stream ID as a hash collision can occur, meaning that different stream ids can have the same resulting hash being computed.
We have with version 3.9.0 expanded the range of the stream hashes from 32bits to 64bits thus reducing the possibility of hash collisions.
All the new persisted indexes will be in the new 64bit format and any indexes that are merged together will result in the 32bit indexes being upgraded to 64bit indexes. We opted not to include a new option to force 64bit indexes but rather an automatic conversion over to 64bit indexes. If you wish to have all your indexes as 64bit indexes, you can just delete your existing indexes and your indexes will be rebuilt as 64bit indexes.
ReaderThreadCount
command line option.StreamMetadataBuilder
from existing metadata.ProjectionsManager
.