Skip to content

LogStateWithMetaData<TEntry> Properties

A class that extends grain state with versioning metadata, so that a log-consistent grain can use a standard storage provider.

Log

getset
View source
[Orleans.Id(0)]
public List<TEntry> Log
The stored view of the log

WriteVector

getset
View source
[Orleans.Id(1)]
public string WriteVector
Metadata that is used to avoid duplicate appends. Logically, this is a (string->bit) map, the keys being replica ids But this map is represented compactly as a simple string to reduce serialization/deserialization overhead Bits are read by Orleans.EventSourcing.LogStorage.LogStateWithMetaData.GetBit and flipped by Orleans.EventSourcing.LogStorage.LogStateWithMetaData.FlipBit. Bits are toggled when writing, so that the retry logic can avoid appending an entry twice when retrying a failed append.